test_class.declarator: topicName = "topic"
test_class.modifier: private
test_class.original_string: private String topicName = "topic";
test_class.type: String
test_class.var_name: topicName
test_class.declarator: driver = null
test_class.modifier: private
test_class.original_string: private KStreamTestDriver driver = null;
test_class.type: KStreamTestDriver
test_class.var_name: driver
test_class.file: streams/src/test/java/org/apache/kafka/streams/kstream/internals/KStreamFlatMapValuesTest.java
test_class.identifier: KStreamFlatMapValuesTest
test_case.body: @Test
      public void testFlatMapValues() {
          KStreamBuilder builder = new KStreamBuilder();
  
          ValueMapper<String, Iterable<String>> mapper =
              new ValueMapper<String, Iterable<String>>() {
                  @Override
                  public Iterable<String> apply(String value) {
                      ArrayList<String> result = new ArrayList<String>();
                      result.add(value.toLowerCase(Locale.ROOT));
                      result.add(value);
                      return result;
                  }
              };
  
          final int[] expectedKeys = {0, 1, 2, 3};
  
          KStream<Integer, String> stream;
          MockProcessorSupplier<Integer, String> processor;
  
          processor = new MockProcessorSupplier<>();
          stream = builder.stream(Serdes.Integer(), Serdes.String(), topicName);
          stream.flatMapValues(mapper).process(processor);
  
          driver = new KStreamTestDriver(builder);
          for (int i = 0; i < expectedKeys.length; i++) {
              driver.process(topicName, expectedKeys[i], "V" + expectedKeys[i]);
          }
  
          assertEquals(8, processor.processed.size());
  
          String[] expected = {"0:v0", "0:V0", "1:v1", "1:V1", "2:v2", "2:V2", "3:v3", "3:V3"};
  
          for (int i = 0; i < expected.length; i++) {
              assertEquals(expected[i], processor.processed.get(i));
          }
      }
test_case.class_method_signature: KStreamFlatMapValuesTest.testFlatMapValues()
test_case.full_signature: @Test public void testFlatMapValues()
test_case.identifier: testFlatMapValues
test_case.invocations: add toLowerCase add stream Integer String process flatMapValues process assertEquals size assertEquals get
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testFlatMapValues()
focal_class.declarator: mapper
focal_class.modifier: private final
focal_class.original_string: private final ValueMapper<V, ? extends Iterable<V1>> mapper;
focal_class.type: ValueMapper<V, ? extends Iterable<V1>>
focal_class.var_name: mapper
focal_class.file: streams/src/main/java/org/apache/kafka/streams/kstream/internals/KStreamFlatMapValues.java
focal_class.identifier: KStreamFlatMapValues
focal_class.interfaces: implements ProcessorSupplier<K, V>
focal_class.class_method_signature: KStreamFlatMapValues.KStreamFlatMapValues(ValueMapper<V, ? extends Iterable<V1>> mapper)
focal_class.full_signature:   KStreamFlatMapValues(ValueMapper<V, ? extends Iterable<V1>> mapper)
focal_class.identifier: KStreamFlatMapValues
focal_class.parameters: (ValueMapper<V, ? extends Iterable<V1>> mapper)
focal_class.signature:  KStreamFlatMapValues(ValueMapper<V, ? extends Iterable<V1>> mapper)
focal_class.class_method_signature: KStreamFlatMapValues.get()
focal_class.full_signature: @Override public Processor<K, V> get()
focal_class.identifier: get
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: Processor<K, V>
focal_class.signature: Processor<K, V> get()
focal_method.body: @Override
      public Processor<K, V> get() {
          return new KStreamFlatMapValuesProcessor();
      }
focal_method.class_method_signature: KStreamFlatMapValues.get()
focal_method.full_signature: @Override public Processor<K, V> get()
focal_method.identifier: get
focal_method.modifiers: @Override public
focal_method.parameters: ()
focal_method.return: Processor<K, V>
focal_method.signature: Processor<K, V> get()