@Test(timeout = 200) public void testContains() { addBasic(); for (int i = 0; i < 11; i++) { assertTrue("List should contain " + i, list.contains(i)); } for (int i = 11; i < 20; i++) { assertFalse("List should not contain " + i, list.contains(i)); } }
@Test(timeout = 1000) public void stressTesting_Add() { Random r = new Random(System.currentTimeMillis()); Set<Integer> set = new HashSet<>(); for (int i = 0; i < 10000; i++) { Integer num = r.nextInt(); set.add(num); if (!list.contains(num)) { list.put(num); } } assertEquals("Adding not working properly", set, list.dataSet()); assertEquals("Size isn't being incremented correctly", set.size(), list.dataSet().size()); }
@Test(timeout = 10000) public void stressTesting_String() { Random r = new Random(98); Set<String> set = new HashSet<>(); for (int i = 0; i < 50; i++) { String str = Character.toString((char) (r.nextInt(90) + 33)); if (r.nextBoolean()) { set.add(str); if (!listString.contains(str)) { listString.put(str); } } else { set.remove(str); listString.remove(str); } } assertEquals("Check your remove method", set, listString.dataSet()); assertEquals("Size isn't being decremented correctly", set.size(), listString.dataSet().size()); }
@Test(timeout = 1000) public void stressTesting_AddAndRemove() { Random r = new Random(System.currentTimeMillis()); Set<Integer> set = new HashSet<>(); for (int i = 0; i < 1000; i++) { Integer num = r.nextInt(); if (r.nextBoolean()) { set.add(num); if (!list.contains(num)) { list.put(num); } } else { set.remove(num); list.remove(num); } } assertEquals("Check your remove method", set, list.dataSet()); assertEquals("Size isn't being decremented correctly", set.size(), list.dataSet().size()); }
@Test(timeout = 1000) public void stressTesting_LevelPromoting() { int quantity = 10000; Random r = new Random(System.currentTimeMillis()); Set<Integer> set = new HashSet<>(); for (int i = 0; i < quantity; i++) { Integer num = r.nextInt(); set.add(num); if (!list.contains(num)) { list.put(num); } } Random rand = new Random(10); int flips = 0; for (int i = 0; i < quantity; i++) { while (rand.nextBoolean()) { flips++; } flips++; } assertEquals("Adding is not working properly", set, list.dataSet()); assertEquals("CoinFlipper is not being used properly", flips, randomness.getNumFlips()); }
@Test(timeout = 1000, expected = IllegalArgumentException.class) public void testIllegalContains() { list.contains(null); }
@Test(timeout = 1000) public void testNullContains() { assertEquals(false, list.contains(1)); }