@Test public void testCanTrackSeparately() { MetadataWithMostRecentDate metadata = new MetadataWithMostRecentDate(COLUMN_FAMILY); metadata.createOrUpdate(fieldName, dataTypeName, normalizerClassName, 345); metadata.createOrUpdate(fieldName, dataTypeName + "2", normalizerClassName, 123); metadata.createOrUpdate(fieldName, dataTypeName + "2", normalizerClassName, 124); Assert.assertEquals(2, metadata.entries().size()); // Need to use a junk class here because we can't make instances of MostRecentEventDateAndKeyComponents as it is // not an enclosing class Collection<Tuple> expected = Lists.newArrayList(); expected.add(new Tuple("sham", "wow", "sham.wow.pick.up.Messes", 345L)); expected.add(new Tuple("sham", "wow2", "sham.wow.pick.up.Messes", 124L)); Collection<Tuple> actual = Lists.newArrayList(); for (MetadataWithMostRecentDate.MostRecentEventDateAndKeyComponents m : metadata.entries()) { actual.add(new Tuple(m.getFieldName(), m.getDataType(), m.getNormalizerClassName(), m.getMostRecentDate())); } Assert.assertTrue(CollectionUtils.isEqualCollection(expected, actual)); }