@Override public boolean containsAll(final Collection<?> c) { for (final Object o : c) if (!contains(o)) return false; return true; }
@Override public boolean contains(final Object o) { if (o instanceof Integer) { final int i = (Integer)o; return contains(i); } else return false; //To change body of implemented methods use File | Settings | File Templates. }
@Test public void testAddRange() { final CountSet subject = new CountSet(10); subject.addRange(10,21); Assert.assertEquals(subject.size(),12); for (int i = 10; i < 22; i++) Assert.assertTrue(subject.contains(i)); for (int i = -1; i < 10; i++) Assert.assertFalse(subject.contains(i)); for (int i = 22; i < 31; i++) Assert.assertFalse(subject.contains(i)); }
@Test public void testSetToSingleValue() { final CountSet subject = new CountSet(10); subject.setTo(-31); Assert.assertEquals(subject.size(),1); Assert.assertEquals(subject.min(),-31); Assert.assertEquals(subject.max(),-31); Assert.assertTrue(subject.contains(-31)); Assert.assertFalse(subject.contains(-21)); }
@Test public void testIncrease() { final int CAPACITY = 10; final CountSet subject = new CountSet(CAPACITY); final HashSet<Integer> reasuranceSet = new HashSet<>(CAPACITY); final int REPEATS = 1000; final Random rnd = new Random(13); final int[] values = new int[REPEATS]; final Integer[] valueWrappers = new Integer[REPEATS]; for (int i = 0; i < REPEATS; i++) { int newInt = rnd.nextInt(500); values[i] = newInt; valueWrappers[i] = newInt; } subject.incAll(3); for (final int j : reasuranceSet) Assert.assertTrue(subject.contains(j+3)); for (int j = 0; j < 501; j++) Assert.assertEquals(subject.contains(j+3),reasuranceSet.contains(j)); }
@Test public void testSingleValueAdd() { final int CAPACITY = 10; final CountSet subject = new CountSet(CAPACITY); final HashSet<Integer> reasuranceSet = new HashSet<>(CAPACITY); final int REPEATS = 1000; final Random rnd = new Random(13); for (int i = 0; i < REPEATS; i++) { int newInt = rnd.nextInt(500); boolean expectedResult = reasuranceSet.add(newInt); boolean result = subject.add(newInt); Assert.assertEquals(result,expectedResult); Assert.assertEquals(subject.size(),reasuranceSet.size()); } for (final int j : reasuranceSet) Assert.assertTrue(subject.contains(j)); for (int j = 0; j < 501; j++) Assert.assertEquals(subject.contains(j),reasuranceSet.contains(j)); }
@Test public void testArrayValueAdd() { final int CAPACITY = 10; final CountSet subject = new CountSet(CAPACITY); final HashSet<Integer> reasuranceSet = new HashSet<>(CAPACITY); final int REPEATS = 1000; final Random rnd = new Random(13); final int[] values = new int[REPEATS]; final Integer[] valueWrappers = new Integer[REPEATS]; for (int i = 0; i < REPEATS; i++) { int newInt = rnd.nextInt(500); values[i] = newInt; valueWrappers[i] = newInt; } boolean expectedResult = reasuranceSet.addAll(Arrays.asList(valueWrappers)); boolean result = subject.addAll(values); Assert.assertEquals(result,expectedResult); Assert.assertEquals(subject.size(),reasuranceSet.size()); for (final int j : reasuranceSet) Assert.assertTrue(subject.contains(j)); for (int j = 0; j < 501; j++) Assert.assertEquals(subject.contains(j),reasuranceSet.contains(j)); }