test_class.file: netflix-infix/src/test/java/com/netflix/infix/StringValuePredicateTest.java
test_class.identifier: StringValuePredicateTest
test_case.body: @Test
  	public void testValueComparison() throws Exception {
  		Object[][] inputs = {
  			{"abc", "abc", true},
  			{"", "", true}, 
  			{"AB", "A", false},
  			{null, null, true},
  			{null, "", false},
  			{"", null, false}
  		};
  		
  		for(Object[] input : inputs){
  			String value = (String)input[0];
  			String inputValue = (String)input[1];
  			boolean expected = ((Boolean)input[2]).booleanValue();
  			
  			StringValuePredicate pred = new StringValuePredicate(value);
  		
  			assertEquals(String.format("Given value = %s, and input = %s", value, inputValue), expected, pred.apply(inputValue));
  		}
  		
  	}
test_case.class_method_signature: StringValuePredicateTest.testValueComparison()
test_case.full_signature: @Test public void testValueComparison()
test_case.identifier: testValueComparison
test_case.invocations: booleanValue assertEquals format apply
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testValueComparison()
focal_class.declarator: value
focal_class.modifier: private
focal_class.original_string: private String value;
focal_class.type: String
focal_class.var_name: value
focal_class.file: netflix-infix/src/main/java/com/netflix/infix/StringValuePredicate.java
focal_class.identifier: StringValuePredicate
focal_class.interfaces: implements ValuePredicate<Object>
focal_class.class_method_signature: StringValuePredicate.StringValuePredicate(@Nullable String value)
focal_class.full_signature: public  StringValuePredicate(@Nullable String value)
focal_class.identifier: StringValuePredicate
focal_class.modifiers: public
focal_class.parameters: (@Nullable String value)
focal_class.signature:  StringValuePredicate(@Nullable String value)
focal_class.class_method_signature: StringValuePredicate.apply(@Nullable Object input)
focal_class.full_signature: @Override public boolean apply(@Nullable Object input)
focal_class.identifier: apply
focal_class.modifiers: @Override public
focal_class.parameters: (@Nullable Object input)
focal_class.return: boolean
focal_class.signature: boolean apply(@Nullable Object input)
focal_class.class_method_signature: StringValuePredicate.getValue()
focal_class.full_signature:  String getValue()
focal_class.identifier: getValue
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String getValue()
focal_class.class_method_signature: StringValuePredicate.toString()
focal_class.full_signature: @Override public String toString()
focal_class.identifier: toString
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String toString()
focal_class.class_method_signature: StringValuePredicate.hashCode()
focal_class.full_signature: @Override public int hashCode()
focal_class.identifier: hashCode
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int hashCode()
focal_class.class_method_signature: StringValuePredicate.equals(Object obj)
focal_class.full_signature: @Override public boolean equals(Object obj)
focal_class.identifier: equals
focal_class.modifiers: @Override public
focal_class.parameters: (Object obj)
focal_class.return: boolean
focal_class.signature: boolean equals(Object obj)
focal_method.body: @Override
      public boolean apply(@Nullable Object input) {
  	    return Objects.equal(value, input);
      }
focal_method.class_method_signature: StringValuePredicate.apply(@Nullable Object input)
focal_method.full_signature: @Override public boolean apply(@Nullable Object input)
focal_method.identifier: apply
focal_method.invocations: equal
focal_method.modifiers: @Override public
focal_method.parameters: (@Nullable Object input)
focal_method.return: boolean
focal_method.signature: boolean apply(@Nullable Object input)