// This is a purely compile-time test. If the code compiles, then it worked. @Test public void testPerKeySerializabilityRequirement() { Pipeline p = TestPipeline.create(); p.apply( "CreateCollection", Create.of(Arrays.asList(COLLECTION)).withCoder(StringUtf8Coder.of())); PCollection<KV<String, Integer>> inputTable = createInputTable(p); inputTable.apply(Top.<String, Integer, IntegerComparator>perKey(1, new IntegerComparator())); inputTable.apply( "PerKey2", Top.<String, Integer, IntegerComparator2>perKey(1, new IntegerComparator2())); }
@Test public void testTopGetNames() { assertEquals("Top.Globally", Top.of(1, new OrderByLength()).getName()); assertEquals("Smallest.Globally", Top.smallest(1).getName()); assertEquals("Largest.Globally", Top.largest(2).getName()); assertEquals("Top.PerKey", Top.perKey(1, new IntegerComparator()).getName()); assertEquals("Smallest.PerKey", Top.<String, Integer>smallestPerKey(1).getName()); assertEquals("Largest.PerKey", Top.<String, Integer>largestPerKey(2).getName()); }