import org.eclipse.collections.api.bag.Bag; //导入依赖的package包/类
@Test
public void getCountsByPetType()
{
MutableList petTypes = this.people.flatCollect(Person::getPets).collect(Pet::getType);
// Do you recognize this pattern?
MutableMap petTypeCounts = Maps.mutable.empty();
for (PetType petType : petTypes)
{
Integer count = petTypeCounts.get(petType);
if (count == null)
{
count = 0;
}
petTypeCounts.put(petType, count + 1);
}
Assert.assertEquals(Integer.valueOf(2), petTypeCounts.get(PetType.CAT));
Assert.assertEquals(Integer.valueOf(2), petTypeCounts.get(PetType.DOG));
Assert.assertEquals(Integer.valueOf(2), petTypeCounts.get(PetType.HAMSTER));
Assert.assertEquals(Integer.valueOf(1), petTypeCounts.get(PetType.SNAKE));
Assert.assertEquals(Integer.valueOf(1), petTypeCounts.get(PetType.TURTLE));
Assert.assertEquals(Integer.valueOf(1), petTypeCounts.get(PetType.BIRD));
// Hint: use the appropriate method on this.people to create a Bag
Bag counts = null;
Assert.assertEquals(2, counts.occurrencesOf(PetType.CAT));
Assert.assertEquals(2, counts.occurrencesOf(PetType.DOG));
Assert.assertEquals(2, counts.occurrencesOf(PetType.HAMSTER));
Assert.assertEquals(1, counts.occurrencesOf(PetType.SNAKE));
Assert.assertEquals(1, counts.occurrencesOf(PetType.TURTLE));
Assert.assertEquals(1, counts.occurrencesOf(PetType.BIRD));
}