Required package name: assign3 Required class name: OrderedList File to submit P
ID: 3845493 • Letter: R
Question
Required package name: assign3
Required class name: OrderedList
File to submit Part 1: OrderedListTest.java
Part 1:
Create a Junit test file for the following class. Important – you are not to create the Java file for this part of the assignment, but to just create the Junit test file, OrderedListTest.java.
- list: int[]
- count: int
+ OrderedList(int)
+ size (): int
+ numEntries(): int + insert (int): void + delete (int): void + toString(): String
Method descriptions and test conditions. You may have several test methods for each.
1. OrderedList (int)
a. b.
Ideas
create an array of the size indicated by the parameter if the parameter is less than 2, create an array of size 2
for Testing:
instantiate an array and check to see if it has the correct size
instantiate an array and check to see if there are no entries in the array
instantiate an array with a size of 2 and check if it has the correct size repeat the above test for a size of 1 and 0
2. size(): int
a. return the size of the array (maximum number of values that can currently be stored)
Ideas for Testing:
a. instantiate an array and check to see if it has the correct size
3. numEntries():int
return the number of integers currently stored in the array
this number will range from 0 to the size of the array
Ideas for Testing:
instantiate an array and check to see if it has the correct number of entries
instantiate an array and insert values and check if the count is correct
delete values and check if the count is correct
4. insert
insert an integer into the array so that the elements are in ascending order
do not allow for duplicates in the array
if the array is full, do not insert the value
do not sort the array
Ideas for Testing:
instantiate an array and insert one value. Check that the contents are correct.
insert several values at the beginning of the array and check that the contents are correct
and the count is correct
insert several values in the middle of the array and check if the values are correct and the
count is correct
insert several values at the end of the array and check if the values are correct and the
count is correct
insert values in ascending order and check if the values are correct and the count is
correct
insert values in descending order and check if the values are correct and the count is
correct
insert duplicates and make sure that duplicates do not appear and the count is correct
try to insert more values that can be held in an array. Check if the values are correct and
the count is correct
5. delete (int): void
find the integer in the array and remove it
if the value is not in the array, do nothing
if the value is in the array, remove it so that the elements remain in ascending order
Ideas for Testing:
instantiate an array and try to delete from an empty array.
instantiate an array, insert one value and then delete it. Check that the contents and count
are correct.
(int): void
c. instantiate an array, insert some values and then try to delete a value not in the array. Check that the contents and count are correct.
instantiate an array, insert some values and then try to delete a value in the array. Check that the contents and count are correct.
delete all values in the array
6. toString(): String
a. return the values in the array so that all values are separated by a space b. the string should be “1 2 3” not “1 2 3 “
Ideas for Testing:
a. instantiate an array and test the string for an empty array
b. insert one value into an array and test that no space appear. c. insert values into an array and test that the spacing is correct.
Part 2: Implement the OrderedList class to meet the requirements above.
Restrictions:
You must use an array of int. You may NOT use ArrayLists and other collections. If in
doubt, ask.
Do not add to the instance variables.
You may add private methods to support the other methods if desired.
Follow all style and documentation requirements.
OrderedList- list: int[]
- count: int
+ OrderedList(int)
+ size (): int
+ numEntries(): int + insert (int): void + delete (int): void + toString(): String
Explanation / Answer
/**
*
* @author Sam
*/
public class OrderedList {
private final int[] list;
private int count;
public OrderedList(int size) {
if (size < 2)
list = new int[2];
else
list = new int[size];
count = 0;
}
int size() {
return list.length;
}
int numEntries() {
return count;
}
void insert(int n){
if (numEntries() == size())
return;
int pos ;
for (pos = count; pos > 0; pos --) // find apt position for insertion
if (list[pos-1] == n)
return;
else if (list[pos -1] < n)
break;
for (int i = count; i > pos; i--)// rigtht shift to make space for insertinf
list[i] = list[i-1];
list[pos] = n;//insert
count ++;
}
void delete(int n) {
int pos;
for(pos = 0; pos < count; pos++) //find the position of victim
if (list[pos] == n)
break;
for(int i = pos; i < count-1; i++) // left shift items from victim position to end
list[i] = list[i+1];
count --;
}
@Override
public String toString() {
String result = "";
int i;
for (i = 0; i < count - 1; i++) //this will not add last elemet witn blank space
result = result + list[i] + " ";
result = result + list[i]; //add last item
return result;
}
}
class OrderedListTest {
public static void main(String[] args) {
OrderedList ol = new OrderedList(5);
ol.insert(10);
System.out.println("Output is [" + ol.toString() + "] after insert(10)");
ol.insert(5);
System.out.println("Output is [" + ol.toString() + "] after insert(5)");
ol.insert(7);
System.out.println("Output is [" + ol.toString() + "] after insert(7)");
ol.insert(3);
System.out.println("Output is [" + ol.toString() + "] after insert(3)");
ol.insert(5);
System.out.println("Output is [" + ol.toString() + "] after insert(5)");
ol.insert(1);
System.out.println("Output is [" + ol.toString() + "] after insert(1)");
ol.insert(0);
System.out.println("Output is [" + ol.toString() + "] after insert(1)");
ol.delete(5);
System.out.println("Output is [" + ol.toString() + "] after delete(5)");
ol.delete(10);
System.out.println("Output is [" + ol.toString() + "] after delete(10)");
ol.delete(6);
System.out.println("Output is [" + ol.toString() + "] after delete(6)");
}
}
I have commented the code to make things easy. I you need any assistance, please let me know. I shall be glad to help you.
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.