Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Required package name: assign3 Required class name: OrderedList File to submit P

ID: 3846169 • 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.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)");
    }
}

Here you go champ... I have also commented parts of the code to make your life easy. Let me know if you need any help on this. I shall be glad to help you.

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote