@Test public void newWithout() { ImmutableBag<String> bag = this.newBag(); ImmutableBag<String> newBag = bag.newWithout("1"); Assert.assertNotEquals(bag, newBag); Assert.assertEquals(bag.size() - 1, newBag.size()); Assert.assertEquals(bag.sizeDistinct() - 1, newBag.sizeDistinct()); ImmutableBag<String> newBag2 = bag.newWithout("0"); Assert.assertEquals(bag, newBag2); Assert.assertEquals(bag.size(), newBag2.size()); Assert.assertEquals(bag.sizeDistinct(), newBag2.sizeDistinct()); }
@Test @Override public void newWith() { ImmutableBag<String> bag = this.newBag(); ImmutableBag<String> newBag = bag.newWith("1"); Assert.assertNotEquals(bag, newBag); Assert.assertEquals(newBag.size(), bag.size() + 1); ImmutableBag<String> newBag2 = bag.newWith("5"); Assert.assertNotEquals(bag, newBag2); Assert.assertEquals(newBag2.size(), bag.size() + 1); Assert.assertEquals(1, newBag2.sizeDistinct()); }