test_class.declarator: intSerde = Serdes.Integer()
test_class.modifier: final private
test_class.original_string: final private Serde<Integer> intSerde = Serdes.Integer();
test_class.type: Serde<Integer>
test_class.var_name: intSerde
test_class.declarator: stringSerde = Serdes.String()
test_class.modifier: final private
test_class.original_string: final private Serde<String> stringSerde = Serdes.String();
test_class.type: Serde<String>
test_class.var_name: stringSerde
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.declarator: stateDir = null
test_class.modifier: private
test_class.original_string: private File stateDir = null;
test_class.type: File
test_class.var_name: stateDir
test_class.file: streams/src/test/java/org/apache/kafka/streams/kstream/internals/KTableFilterTest.java
test_class.identifier: KTableFilterTest
test_case.body: @Test
      public void testValueGetter() throws IOException {
          KStreamBuilder builder = new KStreamBuilder();
  
          String topic1 = "topic1";
  
          KTableImpl<String, Integer, Integer> table1 =
                  (KTableImpl<String, Integer, Integer>) builder.table(stringSerde, intSerde, topic1);
          KTableImpl<String, Integer, Integer> table2 = (KTableImpl<String, Integer, Integer>) table1.filter(
                  new Predicate<String, Integer>() {
                      @Override
                      public boolean test(String key, Integer value) {
                          return (value % 2) == 0;
                      }
                  });
          KTableImpl<String, Integer, Integer> table3 = (KTableImpl<String, Integer, Integer>) table1.filterNot(
                  new Predicate<String, Integer>() {
                      @Override
                      public boolean test(String key, Integer value) {
                          return (value % 2) == 0;
                      }
                  });
  
          KTableValueGetterSupplier<String, Integer> getterSupplier2 = table2.valueGetterSupplier();
          KTableValueGetterSupplier<String, Integer> getterSupplier3 = table3.valueGetterSupplier();
  
          driver = new KStreamTestDriver(builder, stateDir, null, null);
  
          KTableValueGetter<String, Integer> getter2 = getterSupplier2.get();
          KTableValueGetter<String, Integer> getter3 = getterSupplier3.get();
  
          getter2.init(driver.context());
          getter3.init(driver.context());
  
          driver.process(topic1, "A", 1);
          driver.process(topic1, "B", 1);
          driver.process(topic1, "C", 1);
  
          assertNull(getter2.get("A"));
          assertNull(getter2.get("B"));
          assertNull(getter2.get("C"));
  
          assertEquals(1, (int) getter3.get("A"));
          assertEquals(1, (int) getter3.get("B"));
          assertEquals(1, (int) getter3.get("C"));
  
          driver.process(topic1, "A", 2);
          driver.process(topic1, "B", 2);
  
          assertEquals(2, (int) getter2.get("A"));
          assertEquals(2, (int) getter2.get("B"));
          assertNull(getter2.get("C"));
  
          assertNull(getter3.get("A"));
          assertNull(getter3.get("B"));
          assertEquals(1, (int) getter3.get("C"));
  
          driver.process(topic1, "A", 3);
  
          assertNull(getter2.get("A"));
          assertEquals(2, (int) getter2.get("B"));
          assertNull(getter2.get("C"));
  
          assertEquals(3, (int) getter3.get("A"));
          assertNull(getter3.get("B"));
          assertEquals(1, (int) getter3.get("C"));
  
          driver.process(topic1, "A", null);
          driver.process(topic1, "B", null);
  
          assertNull(getter2.get("A"));
          assertNull(getter2.get("B"));
          assertNull(getter2.get("C"));
  
          assertNull(getter3.get("A"));
          assertNull(getter3.get("B"));
          assertEquals(1, (int) getter3.get("C"));
      }
test_case.class_method_signature: KTableFilterTest.testValueGetter()
test_case.full_signature: @Test public void testValueGetter()
test_case.identifier: testValueGetter
test_case.invocations: table filter filterNot valueGetterSupplier valueGetterSupplier get get init context init context process process process assertNull get assertNull get assertNull get assertEquals get assertEquals get assertEquals get process process assertEquals get assertEquals get assertNull get assertNull get assertNull get assertEquals get process assertNull get assertEquals get assertNull get assertEquals get assertNull get assertEquals get process process assertNull get assertNull get assertNull get assertNull get assertNull get assertEquals get
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testValueGetter()
focal_class.declarator: parent
focal_class.modifier: private final
focal_class.original_string: private final KTableImpl<K, ?, V> parent;
focal_class.type: KTableImpl<K, ?, V>
focal_class.var_name: parent
focal_class.declarator: predicate
focal_class.modifier: private final
focal_class.original_string: private final Predicate<K, V> predicate;
focal_class.type: Predicate<K, V>
focal_class.var_name: predicate
focal_class.declarator: filterNot
focal_class.modifier: private final
focal_class.original_string: private final boolean filterNot;
focal_class.type: boolean
focal_class.var_name: filterNot
focal_class.declarator: sendOldValues = false
focal_class.modifier: private
focal_class.original_string: private boolean sendOldValues = false;
focal_class.type: boolean
focal_class.var_name: sendOldValues
focal_class.file: streams/src/main/java/org/apache/kafka/streams/kstream/internals/KTableFilter.java
focal_class.identifier: KTableFilter
focal_class.interfaces: implements KTableProcessorSupplier<K, V, V>
focal_class.class_method_signature: KTableFilter.KTableFilter(KTableImpl<K, ?, V> parent, Predicate<K, V> predicate, boolean filterNot)
focal_class.full_signature: public  KTableFilter(KTableImpl<K, ?, V> parent, Predicate<K, V> predicate, boolean filterNot)
focal_class.identifier: KTableFilter
focal_class.modifiers: public
focal_class.parameters: (KTableImpl<K, ?, V> parent, Predicate<K, V> predicate, boolean filterNot)
focal_class.signature:  KTableFilter(KTableImpl<K, ?, V> parent, Predicate<K, V> predicate, boolean filterNot)
focal_class.class_method_signature: KTableFilter.get()
focal_class.full_signature: @Override public Processor<K, Change<V>> get()
focal_class.identifier: get
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: Processor<K, Change<V>>
focal_class.signature: Processor<K, Change<V>> get()
focal_class.class_method_signature: KTableFilter.view()
focal_class.full_signature: @Override public KTableValueGetterSupplier<K, V> view()
focal_class.identifier: view
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: KTableValueGetterSupplier<K, V>
focal_class.signature: KTableValueGetterSupplier<K, V> view()
focal_class.class_method_signature: KTableFilter.enableSendingOldValues()
focal_class.full_signature: @Override public void enableSendingOldValues()
focal_class.identifier: enableSendingOldValues
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void enableSendingOldValues()
focal_class.class_method_signature: KTableFilter.computeValue(K key, V value)
focal_class.full_signature: private V computeValue(K key, V value)
focal_class.identifier: computeValue
focal_class.modifiers: private
focal_class.parameters: (K key, V value)
focal_class.return: V
focal_class.signature: V computeValue(K key, V value)
focal_method.body: @Override
      public Processor<K, Change<V>> get() {
          return new KTableFilterProcessor();
      }
focal_method.class_method_signature: KTableFilter.get()
focal_method.full_signature: @Override public Processor<K, Change<V>> get()
focal_method.identifier: get
focal_method.modifiers: @Override public
focal_method.parameters: ()
focal_method.return: Processor<K, Change<V>>
focal_method.signature: Processor<K, Change<V>> get()