diff --git 
a/core/src/test/java/org/apache/accumulo/core/client/summary/CountingSummarizerTest.java
 
b/core/src/test/java/org/apache/accumulo/core/client/summary/CountingSummarizerTest.java
index e8e14b86c8..a15fb2333c 100644
--- 
a/core/src/test/java/org/apache/accumulo/core/client/summary/CountingSummarizerTest.java
+++ 
b/core/src/test/java/org/apache/accumulo/core/client/summary/CountingSummarizerTest.java
@@ -51,6 +51,15 @@
     }
   }
 
+  public static class ValueSummarizer extends CountingSummarizer<String> {
+    @Override
+    protected Converter<String> converter() {
+      return (k, v, c) -> {
+        c.accept("vp:" + v.toString().subSequence(0, 2));
+      };
+    }
+  }
+
   @Test
   public void testMultipleEmit() {
     SummarizerConfiguration sc = 
SummarizerConfiguration.builder(MultiSummarizer.class).build();
@@ -255,4 +264,39 @@ public void testCountDeletes() {
     expected.put("f2", 1L);
     assertEquals(expected, csum.getCounters());
   }
+
+  @Test
+  public void testConvertValue() {
+
+    SummarizerConfiguration sc = 
SummarizerConfiguration.builder(ValueSummarizer.class).build();
+    ValueSummarizer countSum = new ValueSummarizer();
+
+    Summarizer.Collector collector = countSum.collector(sc);
+
+    HashMap<String,Long> expected = new HashMap<>();
+
+    for (String row : new String[] {"ask", "asleep", "some", "soul"}) {
+      for (String fam : new String[] {"hop", "hope", "nope", "noop"}) {
+        for (String qual : new String[] {"mad", "lad", "lab", "map"})
+          for (Value value : new Value[] {new Value("ask"), new 
Value("asleep"), new Value("some"),
+              new Value("soul")}) {
+            collector.accept(new Key(row, fam, qual), value);
+            expected.merge("vp:" + value.toString().substring(0, 2), 1L, 
Long::sum);
+
+          }
+      }
+    }
+
+    HashMap<String,Long> stats = new HashMap<>();
+    collector.summarize(stats::put);
+
+    CounterSummary csum = new CounterSummary(stats);
+    assertEquals(expected, csum.getCounters());
+    assertEquals(256, csum.getSeen());
+    assertEquals(256, csum.getEmitted());
+    assertEquals(0, csum.getIgnored());
+    assertEquals(0, csum.getDeletesIgnored());
+
+  }
+
 }


With regards,
Apache Git Services

Reply via email to