Untitled
unknown
plain_text
4 years ago
27 kB
6
Indexable
public class ListOfListServiceTest {
ArrayList<ArrayList<Integer>> emptyList;
ArrayList<ArrayList<Integer>> oneRow;
ArrayList<ArrayList<Integer>> listSameSize;
ArrayList<ArrayList<Integer>> list1;
ArrayList<ArrayList<Integer>> list2;
ArrayList<ArrayList<Integer>> list3_emptySubLists;
ArrayList<ArrayList<Integer>> list4_nullItems;
public static double score = 0;
public static String result = "";
public static String currentMethodName = null;
public static ArrayList<String> methodsPassed = new ArrayList<String>();
@BeforeEach
public void createLists() {
emptyList = new ArrayList<ArrayList<Integer>>();
oneRow = new ArrayList<ArrayList<Integer>>();
oneRow.add(new ArrayList<Integer>(Arrays.asList(10, 70, 20, 90)));
listSameSize = new ArrayList<ArrayList<Integer>>();
listSameSize.add(new ArrayList<Integer>(Arrays.asList(10, 70, 20, 90)));
listSameSize.add(new ArrayList<Integer>(Arrays.asList(100, 700, 200, 900)));
listSameSize.add(new ArrayList<Integer>(Arrays.asList(9, 8, 7, 6)));
listSameSize.add(new ArrayList<Integer>(Arrays.asList(20, 22, 24, 26)));
list1 = new ArrayList<ArrayList<Integer>>();
list1.add(new ArrayList<Integer>(Arrays.asList(9, 8, 7, 6, 5, 4, -1, -2)));
list1.add(new ArrayList<Integer>(Arrays.asList(100, 200, 700, 900)));
list1.add(new ArrayList<Integer>(Arrays.asList(10, 70, 20, 90, 30, 80)));
list1.add(new ArrayList<Integer>(Arrays.asList(20, 22)));
list2 = new ArrayList<ArrayList<Integer>>();
list2.add(new ArrayList<Integer>(Arrays.asList(20, 22)));
list2.add(new ArrayList<Integer>(Arrays.asList(9, 8)));
list2.add(new ArrayList<Integer>(Arrays.asList(100, 700, 200)));
list2.add(new ArrayList<Integer>(Arrays.asList(10, 70)));
list2.add(new ArrayList<Integer>(Arrays.asList(20, 90)));
list2.add(new ArrayList<Integer>(Arrays.asList(24, 26)));
list3_emptySubLists = new ArrayList<ArrayList<Integer>>();
list3_emptySubLists.add(new ArrayList<Integer>());
list3_emptySubLists.add(new ArrayList<Integer>(Arrays.asList(9, 8, 7, 6, 5, 4, -1, -2)));
list3_emptySubLists.add(new ArrayList<Integer>(Arrays.asList(10, 70, 20, 90, 30, 80)));
list3_emptySubLists.add(new ArrayList<Integer>());
list3_emptySubLists.add(new ArrayList<Integer>(Arrays.asList(20, 22)));
list3_emptySubLists.add(new ArrayList<Integer>());
list4_nullItems = new ArrayList<ArrayList<Integer>>();
list4_nullItems.add(null);
list4_nullItems.add(new ArrayList<Integer>(Arrays.asList(-1, -2, -1, 4, 5, 6, 7, 8, 9)));
list4_nullItems.add(new ArrayList<Integer>(Arrays.asList(100, 200, 700, 900)));
list4_nullItems.add(new ArrayList<Integer>(Arrays.asList(10, null, 20, 90)));
list4_nullItems.add(null);
list4_nullItems.add(new ArrayList<Integer>(Arrays.asList(20, 22, null)));
list4_nullItems.add(null);
list4_nullItems.add(null);
list4_nullItems.add(null);
currentMethodName = null;
}
@Test @Graded(description="GetFirstItemBasic", marks=4)
public void testGetFirstItemBasic() {
assertEquals(null, ListOfListService.getFirstItem(emptyList));
assertEquals(Integer.valueOf(10), ListOfListService.getFirstItem(oneRow));
assertEquals(Integer.valueOf(10), ListOfListService.getFirstItem(listSameSize));
assertEquals(Integer.valueOf(9), ListOfListService.getFirstItem(list1));
assertEquals(Integer.valueOf(20), ListOfListService.getFirstItem(list2));
assertEquals(null, ListOfListService.getFirstItem(list3_emptySubLists));
currentMethodName = new Throwable().getStackTrace()[0].getMethodName();
}
@Test @Graded(description="GetFirstItemComprehensive", marks=4)
public void testGetFirstItemComprehensive() {
testGetFirstItemBasic();
assertEquals(null, ListOfListService.getFirstItem(null));
assertEquals(null, ListOfListService.getFirstItem(list4_nullItems));
list4_nullItems.set(0, new ArrayList<Integer>(Arrays.asList(5)));
assertEquals(Integer.valueOf(5), ListOfListService.getFirstItem(list4_nullItems));
currentMethodName = new Throwable().getStackTrace()[0].getMethodName();
}
@Test @Graded(description="IsSubListNotNullBasic", marks=4)
public void testIsSubListNotNullBasic() {
assertFalse(ListOfListService.isSubListNotNull(emptyList, 0));
assertTrue(ListOfListService.isSubListNotNull(oneRow, 0));
assertFalse(ListOfListService.isSubListNotNull(oneRow, -1));
assertFalse(ListOfListService.isSubListNotNull(oneRow, 1));
assertTrue(ListOfListService.isSubListNotNull(list2, 1));
assertTrue(ListOfListService.isSubListNotNull(list2, 5));
assertFalse(ListOfListService.isSubListNotNull(list2, 6));
assertFalse(ListOfListService.isSubListNotNull(list2, -100));
assertFalse(ListOfListService.isSubListNotNull(list2, 100));
assertTrue(ListOfListService.isSubListNotNull(list3_emptySubLists, 0));
currentMethodName = new Throwable().getStackTrace()[0].getMethodName();
}
@Test @Graded(description="IsSubListNotNullComprehensive", marks=4)
public void testIsSubListNotNullComprehensive() {
testIsSubListNotNullBasic();
assertFalse(ListOfListService.isSubListNotNull(null, 0));
assertFalse(ListOfListService.isSubListNotNull(list4_nullItems, 4));
assertTrue(ListOfListService.isSubListNotNull(list4_nullItems, 3));
currentMethodName = new Throwable().getStackTrace()[0].getMethodName();
}
@Test @Graded(description="GetItemBasic", marks=4)
public void testGetItemBasic() {
assertEquals(null, ListOfListService.getItem(emptyList, 0, 2));
assertEquals(Integer.valueOf(10), ListOfListService.getItem(listSameSize, 0, 0));
assertEquals(Integer.valueOf(90), ListOfListService.getItem(listSameSize, 0, 3));
assertEquals(Integer.valueOf(22), ListOfListService.getItem(listSameSize, 3, 1));
assertEquals(Integer.valueOf(10), ListOfListService.getItem(oneRow, 0, 0));
assertEquals(Integer.valueOf(90), ListOfListService.getItem(oneRow, 0, 3));
assertEquals(null, ListOfListService.getItem(oneRow, 0, 4));
assertEquals(null, ListOfListService.getItem(oneRow, 0, -1));
assertEquals(null, ListOfListService.getItem(oneRow, -1, 0));
assertEquals(null, ListOfListService.getItem(oneRow, 1, 0));
assertEquals(Integer.valueOf(20), ListOfListService.getItem(list1, 3, 0));
assertEquals(Integer.valueOf(70), ListOfListService.getItem(list1, 2, 1));
assertEquals(Integer.valueOf(-2), ListOfListService.getItem(list1, 0, 7));
assertEquals(Integer.valueOf(26), ListOfListService.getItem(list2, 5, 1));
assertEquals(null, ListOfListService.getItem(list2, 6, 1));
assertEquals(null, ListOfListService.getItem(list3_emptySubLists, 3, 0));
assertEquals(Integer.valueOf(20), ListOfListService.getItem(list3_emptySubLists, 2, 2));
currentMethodName = new Throwable().getStackTrace()[0].getMethodName();
}
@Test @Graded(description="GetItemComprehensive", marks=4)
public void testGetItemComprehensive() {
testGetItemBasic();
assertEquals(null, ListOfListService.getItem(null, 0, 0));
assertEquals(null, ListOfListService.getItem(list4_nullItems, 4, 4));
assertEquals(null, ListOfListService.getItem(list4_nullItems, 3, 1));
assertEquals(Integer.valueOf(20), ListOfListService.getItem(list4_nullItems, 3, 2));
currentMethodName = new Throwable().getStackTrace()[0].getMethodName();
}
@Test @Graded(description="ContainsBasic", marks=4)
public void testContainsBasic() {
assertFalse(ListOfListService.contains(emptyList, Integer.valueOf(10)));
assertTrue(ListOfListService.contains(oneRow, Integer.valueOf(10)));
assertTrue(ListOfListService.contains(oneRow, Integer.valueOf(70)));
assertTrue(ListOfListService.contains(oneRow, Integer.valueOf(20)));
assertTrue(ListOfListService.contains(oneRow, Integer.valueOf(90)));
assertFalse(ListOfListService.contains(oneRow, Integer.valueOf(100)));
assertTrue(ListOfListService.contains(list1, Integer.valueOf(-2)));
assertTrue(ListOfListService.contains(list1, Integer.valueOf(30)));
assertTrue(ListOfListService.contains(list1, Integer.valueOf(22)));
assertTrue(ListOfListService.contains(list1, Integer.valueOf(900)));
assertFalse(ListOfListService.contains(list1, Integer.valueOf(-3)));
assertFalse(ListOfListService.contains(list1, Integer.valueOf(11)));
assertTrue(ListOfListService.contains(list3_emptySubLists, Integer.valueOf(10)));
assertFalse(ListOfListService.contains(list3_emptySubLists, Integer.valueOf(-3)));
currentMethodName = new Throwable().getStackTrace()[0].getMethodName();
}
@Test @Graded(description="ContainsComprehensive", marks=4)
public void testContainsComprehensive() {
testContainsBasic();
assertFalse(ListOfListService.contains(null, Integer.valueOf(10)));
assertTrue(ListOfListService.contains(list4_nullItems, Integer.valueOf(22)));
assertFalse(ListOfListService.contains(list4_nullItems, Integer.valueOf(-3)));
currentMethodName = new Throwable().getStackTrace()[0].getMethodName();
}
@Test @Graded(description="GetLastItemBasic", marks=4)
public void testGetLastItemBasic() {
assertEquals(null, ListOfListService.getLastItem(emptyList));
assertEquals(Integer.valueOf(26), ListOfListService.getLastItem(listSameSize));
assertEquals(Integer.valueOf(90), ListOfListService.getLastItem(oneRow));
assertEquals(Integer.valueOf(22), ListOfListService.getLastItem(list1));
assertEquals(Integer.valueOf(26), ListOfListService.getLastItem(list2));
assertEquals(Integer.valueOf(22), ListOfListService.getLastItem(list3_emptySubLists));
currentMethodName = new Throwable().getStackTrace()[0].getMethodName();
}
@Test @Graded(description="GetLastItemComprehensive", marks=4)
public void testGetLastItemComprehensive() {
testGetLastItemBasic();
assertEquals(null, ListOfListService.getLastItem(null));
assertEquals(null, ListOfListService.getLastItem(list4_nullItems));
list4_nullItems.get(5).set(2, 24);
assertEquals(Integer.valueOf(24), ListOfListService.getLastItem(list4_nullItems));
ArrayList<ArrayList<Integer>> allEmptyOrNull = new ArrayList<ArrayList<Integer>>();
allEmptyOrNull.add(null);
allEmptyOrNull.add(new ArrayList<Integer>());
allEmptyOrNull.add(null);
allEmptyOrNull.add(new ArrayList<Integer>());
assertEquals(null, ListOfListService.getLastItem(allEmptyOrNull));
currentMethodName = new Throwable().getStackTrace()[0].getMethodName();
}
@Test @Graded(description="SizeOfBasic", marks=4)
public void testSizeOfBasic() {
assertEquals(0, ListOfListService.sizeOf(emptyList, 0));
assertEquals(4, ListOfListService.sizeOf(oneRow, 0));
assertEquals(0, ListOfListService.sizeOf(oneRow, -1));
assertEquals(0, ListOfListService.sizeOf(oneRow, 1));
assertEquals(8, ListOfListService.sizeOf(list1, 0));
assertEquals(3, ListOfListService.sizeOf(list2, 2));
assertEquals(2, ListOfListService.sizeOf(list2, 5));
assertEquals(0, ListOfListService.sizeOf(list2, -100));
assertEquals(0, ListOfListService.sizeOf(list2, 100));
assertEquals(8, ListOfListService.sizeOf(list3_emptySubLists, 1));
assertEquals(0, ListOfListService.sizeOf(list3_emptySubLists, 3));
currentMethodName = new Throwable().getStackTrace()[0].getMethodName();
}
@Test @Graded(description="SizeOfComprehensive", marks=4)
public void testSizeOfComprehensive() {
testSizeOfBasic();
assertEquals(0, ListOfListService.sizeOf(null, 0));
assertEquals(3, ListOfListService.sizeOf(list4_nullItems, 5));
assertEquals(0, ListOfListService.sizeOf(list4_nullItems, 6));
currentMethodName = new Throwable().getStackTrace()[0].getMethodName();
}
@Test @Graded(description="CountItemsBasic", marks=4)
public void testCountItemsBasic() {
assertEquals(0, ListOfListService.countItems(emptyList));
assertEquals(16, ListOfListService.countItems(listSameSize));
assertEquals(4, ListOfListService.countItems(oneRow));
assertEquals(20, ListOfListService.countItems(list1));
assertEquals(13, ListOfListService.countItems(list2));
assertEquals(16, ListOfListService.countItems(list3_emptySubLists));
currentMethodName = new Throwable().getStackTrace()[0].getMethodName();
}
@Test @Graded(description="CountSquaresBasic", marks=4)
public void testCountSquaresBasic() {
ArrayList<Rectangle> a = new ArrayList<Rectangle>();
ArrayList<Rectangle> b = new ArrayList<Rectangle>();
ArrayList<Rectangle> c = new ArrayList<Rectangle>();
ArrayList<Rectangle> d = new ArrayList<Rectangle>();
ArrayList<ArrayList<Rectangle>> list = new ArrayList<ArrayList<Rectangle>>();
list.add(a);
list.add(b);
list.add(c);
list.add(d);
for(int i=0; i < 100; i++) {
a.add(new Rectangle(i, i+1));
b.add(new Rectangle(i+1, i));
c.add(new Rectangle(i, i+2));
d.add(new Rectangle(i+2, i));
}
//no squares yet
assertEquals(0, ListOfListService.countSquares(list));
a.add(0, new Rectangle(10, 10));
assertEquals(1, ListOfListService.countSquares(list));
d.add(new Rectangle(20, 20));
assertEquals(2, ListOfListService.countSquares(list));
b.add((int)(Math.random()*b.size()), new Rectangle(30, 30));
c.add((int)(Math.random()*c.size()), new Rectangle(30, 30));
assertEquals(4, ListOfListService.countSquares(list));
currentMethodName = new Throwable().getStackTrace()[0].getMethodName();
}
@Test @Graded(description="CountSquaresComprehensive", marks=2)
public void testCountSquaresComprehensive() {
ArrayList<ArrayList<Rectangle>> list = null;
assertEquals(0, ListOfListService.countSquares(list));
testCountSquaresBasic();
ArrayList<Rectangle> a = new ArrayList<Rectangle>();
ArrayList<Rectangle> b = null;
ArrayList<Rectangle> c = new ArrayList<Rectangle>();
ArrayList<Rectangle> d = new ArrayList<Rectangle>();
list = new ArrayList<ArrayList<Rectangle>>();
list.add(a);
list.add(b);
list.add(c);
list.add(d);
for(int i=0; i < 100; i++) { //some null objects
if(Math.random() < 0.9)
a.add(new Rectangle(i, i+1));
if(Math.random() < 0.9)
c.add(new Rectangle(i, i+2));
if(Math.random() < 0.9)
d.add(new Rectangle(i+2, i));
}
//no squares yet
assertEquals(0, ListOfListService.countSquares(list));
a.add(0, new Rectangle(10, 10));
assertEquals(1, ListOfListService.countSquares(list));
d.add(new Rectangle(20, 20));
assertEquals(2, ListOfListService.countSquares(list));
c.add((int)(Math.random()*c.size()), new Rectangle(30, 30));
assertEquals(3, ListOfListService.countSquares(list));
currentMethodName = new Throwable().getStackTrace()[0].getMethodName();
}
@Test @Graded(description="CountItemsComprehensive", marks=2)
public void testCountItemsComprehensive() {
testCountItemsBasic();
assertEquals(0, ListOfListService.countItems(null));
assertEquals(18, ListOfListService.countItems(list4_nullItems));
currentMethodName = new Throwable().getStackTrace()[0].getMethodName();
}
@Test @Graded(description="SumItemsBasic", marks=4)
public void testSumItemsBasic() {
assertEquals(0, ListOfListService.sumItems(emptyList));
assertEquals(2212, ListOfListService.sumItems(listSameSize));
assertEquals(190, ListOfListService.sumItems(oneRow));
assertEquals(2278, ListOfListService.sumItems(list1));
assertEquals(1299, ListOfListService.sumItems(list2));
assertEquals(378, ListOfListService.sumItems(list3_emptySubLists));
currentMethodName = new Throwable().getStackTrace()[0].getMethodName();
}
@Test @Graded(description="SumItemsComprehensive", marks=2)
public void testSumItemsComprehensive() {
testSumItemsBasic();
assertEquals(0, ListOfListService.sumItems(null));
assertEquals(2097, ListOfListService.sumItems(list4_nullItems));
currentMethodName = new Throwable().getStackTrace()[0].getMethodName();
}
@Test @Graded(description="IsAscendingBasic", marks=4)
public void testIsAscendingBasic() {
assertFalse(ListOfListService.isAscending(emptyList, 0));
assertFalse(ListOfListService.isAscending(oneRow, 0));
assertFalse(ListOfListService.isAscending(oneRow, 1));
assertFalse(ListOfListService.isAscending(oneRow, -1));
assertTrue(ListOfListService.isAscending(list2, 0));
assertFalse(ListOfListService.isAscending(list2, 1));
assertFalse(ListOfListService.isAscending(list2, 2));
assertTrue(ListOfListService.isAscending(list2, 3));
assertTrue(ListOfListService.isAscending(list2, 4));
assertTrue(ListOfListService.isAscending(list2, 5));
list2.get(4).set(1, 20); // 20, 20
assertTrue(ListOfListService.isAscending(list2, 4));
assertTrue(ListOfListService.isAscending(list1, 1));
assertTrue(ListOfListService.isAscending(list3_emptySubLists, 0)); // empty sub-list is ascending
assertFalse(ListOfListService.isAscending(list3_emptySubLists, 1));
currentMethodName = new Throwable().getStackTrace()[0].getMethodName();
}
@Test @Graded(description="IsAscendingComprehensive", marks=2)
public void testIsAscendingComprehensive() {
testIsAscendingBasic();
assertFalse(ListOfListService.isAscending(null, 0));
assertFalse(ListOfListService.isAscending(list4_nullItems, 0));
assertTrue(ListOfListService.isAscending(list4_nullItems, 2));
assertFalse(ListOfListService.isAscending(list4_nullItems, 3));
assertFalse(ListOfListService.isAscending(list4_nullItems, 5));
currentMethodName = new Throwable().getStackTrace()[0].getMethodName();
}
@Test @Graded(description="AllSubListsAscendingBasic", marks=4)
public void testAllSubListsAscendingBasic() {
assertFalse(ListOfListService.allSubListsAscending(listSameSize));
assertFalse(ListOfListService.allSubListsAscending(oneRow));
assertTrue(ListOfListService.allSubListsAscending(emptyList));
assertFalse(ListOfListService.allSubListsAscending(list1));
assertFalse(ListOfListService.allSubListsAscending(list2));
assertFalse(ListOfListService.allSubListsAscending(list3_emptySubLists));
ArrayList<ArrayList<Integer>> ascending = new ArrayList<ArrayList<Integer>>();
ascending.add(new ArrayList<Integer>(Arrays.asList(10, 20, 70, 90)));
ascending.add(new ArrayList<Integer>(Arrays.asList(100, 110, 120, 130)));
ascending.add(new ArrayList<Integer>(Arrays.asList(10, 20, 70, 90)));
assertTrue(ListOfListService.allSubListsAscending(ascending));
ascending.add(new ArrayList<Integer>(Arrays.asList(10, 20, 70, 90, 10)));
assertFalse(ListOfListService.allSubListsAscending(ascending));
ArrayList<ArrayList<Integer>> ascending2 = new ArrayList<ArrayList<Integer>>();
ascending2.add(new ArrayList<Integer>(Arrays.asList(10, 20, 70, 90)));
ascending2.add(new ArrayList<Integer>(Arrays.asList(100, 110, 120, 130)));
ascending2.add(new ArrayList<Integer>());
ascending2.add(new ArrayList<Integer>(Arrays.asList(10, 20, 70, 90)));
assertTrue(ListOfListService.allSubListsAscending(ascending2));
ascending2.add(new ArrayList<Integer>(Arrays.asList(10, 20, 70, 90, 10)));
assertFalse(ListOfListService.allSubListsAscending(ascending2));
currentMethodName = new Throwable().getStackTrace()[0].getMethodName();
}
@Test @Graded(description="AllSubListsAscendingComprehensive", marks=2)
public void testAllSubListsAscendingComprehensive() {
testAllSubListsAscendingBasic();
assertFalse(ListOfListService.allSubListsAscending(null));
assertFalse(ListOfListService.allSubListsAscending(list4_nullItems));
ArrayList<ArrayList<Integer>> ascending = new ArrayList<ArrayList<Integer>>();
ascending.add(new ArrayList<Integer>(Arrays.asList(10, 20, 70, 90)));
ascending.add(new ArrayList<Integer>(Arrays.asList(100, 110, 120, 130)));
ascending.add(null);
ascending.add(new ArrayList<Integer>(Arrays.asList(10, 20, 70, 90)));
assertFalse(ListOfListService.allSubListsAscending(ascending));
currentMethodName = new Throwable().getStackTrace()[0].getMethodName();
}
@Test @Graded(description="AllSubListsSameSizeBasic", marks=4)
public void testAllSubListsSameSizeBasic() {
assertTrue(ListOfListService.allSubListsSameSize(listSameSize));
assertTrue(ListOfListService.allSubListsSameSize(emptyList));
assertTrue(ListOfListService.allSubListsSameSize(oneRow));
assertFalse(ListOfListService.allSubListsSameSize(list1));
assertFalse(ListOfListService.allSubListsSameSize(list2));
list2.remove(2);
assertTrue(ListOfListService.allSubListsSameSize(list2));
assertFalse(ListOfListService.allSubListsSameSize(list3_emptySubLists));
currentMethodName = new Throwable().getStackTrace()[0].getMethodName();
}
@Test @Graded(description="AllSubListsSameSizeComprehensive", marks=2)
public void testAllSubListsSameSizeComprehensive() {
testAllSubListsSameSizeBasic();
assertFalse(ListOfListService.allSubListsSameSize(null));
assertFalse(ListOfListService.allSubListsSameSize(list4_nullItems));
currentMethodName = new Throwable().getStackTrace()[0].getMethodName();
}
@Test @Graded(description="NonNullItemsToListBasic", marks=4)
public void testNonNullItemsToListBasic() {
ArrayList<Integer> result = ListOfListService.nonNullItemsToList(emptyList);
assertEquals("[]", result.toString());
String copy = listSameSize.toString();
result = ListOfListService.nonNullItemsToList(listSameSize);
assertEquals("[10, 70, 20, 90, 100, 700, 200, 900, 9, 8, 7, 6, 20, 22, 24, 26]", result.toString());
assertEquals(copy, listSameSize.toString());
copy = oneRow.toString();
result = ListOfListService.nonNullItemsToList(oneRow);
assertEquals("[10, 70, 20, 90]", result.toString());
assertEquals(copy, oneRow.toString());
copy = list1.toString();
result = ListOfListService.nonNullItemsToList(list1);
assertEquals("[9, 8, 7, 6, 5, 4, -1, -2, 100, 200, 700, 900, 10, 70, 20, 90, 30, 80, 20, 22]",
result.toString());
assertEquals(copy, list1.toString());
copy = list2.toString();
result = ListOfListService.nonNullItemsToList(list2);
assertEquals("[20, 22, 9, 8, 100, 700, 200, 10, 70, 20, 90, 24, 26]", result.toString());
assertEquals(copy, list2.toString());
copy = list3_emptySubLists.toString();
result = ListOfListService.nonNullItemsToList(list3_emptySubLists);
assertEquals("[9, 8, 7, 6, 5, 4, -1, -2, 10, 70, 20, 90, 30, 80, 20, 22]", result.toString());
assertEquals(copy, list3_emptySubLists.toString());
currentMethodName = new Throwable().getStackTrace()[0].getMethodName();
}
@Test @Graded(description="NonNullItemsToListComprehensive", marks=2)
public void testNonNullItemsToListComprehensive() {
testNonNullItemsToListBasic();
ArrayList<Integer> result = ListOfListService.nonNullItemsToList(null);
assertEquals(null, result);
result = ListOfListService.nonNullItemsToList(list4_nullItems);
assertEquals("[-1, -2, -1, 4, 5, 6, 7, 8, 9, 100, 200, 700, 900, 10, 20, 90, 20, 22]", result.toString());
currentMethodName = new Throwable().getStackTrace()[0].getMethodName();
}
@Test @Graded(description="NonNullItemsToArrayBasic", marks=4)
public void testNonNullItemsToArrayBasic() {
int[] result = ListOfListService.nonNullItemsToArray(emptyList);
assertEquals("[]", Arrays.toString(result));
result = ListOfListService.nonNullItemsToArray(listSameSize);
assertEquals("[10, 70, 20, 90, 100, 700, 200, 900, 9, 8, 7, 6, 20, 22, 24, 26]", Arrays.toString(result));
result = ListOfListService.nonNullItemsToArray(oneRow);
assertEquals("[10, 70, 20, 90]", Arrays.toString(result));
result = ListOfListService.nonNullItemsToArray(list1);
assertEquals("[9, 8, 7, 6, 5, 4, -1, -2, 100, 200, 700, 900, 10, 70, 20, 90, 30, 80, 20, 22]",
Arrays.toString(result));
result = ListOfListService.nonNullItemsToArray(list2);
assertEquals("[20, 22, 9, 8, 100, 700, 200, 10, 70, 20, 90, 24, 26]", Arrays.toString(result));
result = ListOfListService.nonNullItemsToArray(list3_emptySubLists);
assertEquals("[9, 8, 7, 6, 5, 4, -1, -2, 10, 70, 20, 90, 30, 80, 20, 22]", Arrays.toString(result));
currentMethodName = new Throwable().getStackTrace()[0].getMethodName();
}
@Test @Graded(description="NonNullItemsToArrayComprehensive", marks=2)
public void testNonNullItemsToArrayComprehensive() {
testNonNullItemsToArrayBasic();
int[] result = ListOfListService.nonNullItemsToArray(null);
assertEquals(null, result);
result = ListOfListService.nonNullItemsToArray(list4_nullItems);
assertEquals("[-1, -2, -1, 4, 5, 6, 7, 8, 9, 100, 200, 700, 900, 10, 20, 90, 20, 22]", Arrays.toString(result));
currentMethodName = new Throwable().getStackTrace()[0].getMethodName();
}
@Test @Graded(description="GetClean", marks=4)
public void testGetClean() {
ArrayList<ArrayList<Integer>> result = ListOfListService.getClean(null);
assertFalse(result == null);
assertTrue(result.isEmpty());
String copy = listSameSize.toString();
result = ListOfListService.getClean(listSameSize);
assertEquals(copy, listSameSize.toString()); // have you modified the original list?
assertFalse(result == listSameSize); // Ensures result is an instance copy
assertEquals(result, listSameSize);
copy = list3_emptySubLists.toString();
result = ListOfListService.getClean(list3_emptySubLists);
assertEquals(copy, list3_emptySubLists.toString());
assertFalse(result == list3_emptySubLists);
assertEquals(result, list3_emptySubLists);
copy = list4_nullItems.toString();
result = ListOfListService.getClean(list4_nullItems);
assertEquals(copy, list4_nullItems.toString());
assertEquals("[[-1, -2, -1, 4, 5, 6, 7, 8, 9], [100, 200, 700, 900], [10, 20, 90], [20, 22]]", result.toString());
currentMethodName = new Throwable().getStackTrace()[0].getMethodName();
}
@AfterEach
public void logSuccess() throws NoSuchMethodException, SecurityException {
if(currentMethodName != null && !methodsPassed.contains(currentMethodName)) {
methodsPassed.add(currentMethodName);
Method method = getClass().getMethod(currentMethodName);
Graded graded = method.getAnnotation(Graded.class);
score+=graded.marks();
result+=graded.description()+" passed. Marks awarded: "+graded.marks()+"\n";
}
}
@AfterAll
public static void wrapUp() throws IOException {
if(result.length() != 0) {
result = result.substring(0, result.length()-1); //remove the last "\n"
}
System.out.println(result+"\nIndicative mark: "+score);
if(score == 100) {
System.out.println("�솵�뵛(째.째)�뵋 You just earned the Margaret Hamilton badge for COMP1010! �솵�뵋(째.째)�뵛");
}
// String name = "NAME_ME_HERE".replace("./","");
// String markMessage = name.substring(0, 7)+","+score;
// System.out.println(markMessage+",\""+result+"\"\n");
// File file = new File("./reports/"+name.substring(0, 7)+".txt");
// FileWriter writer = new FileWriter(file);
// writer.write(markMessage+",\""+result+"\"\n");
// writer.flush();
// writer.close();
}
}
Editor is loading...