test_class.file: outland-feature-java/src/test/java/outland/feature/FeatureRecordTest.java
test_class.identifier: FeatureRecordTest
test_case.body: @Test
    public void testEquals() {
      final Feature feature = TestSupport.loadFeature(
          "json/feature-select-string-off-default-on-namespace-off-namespace.json");
      final Feature feature1 = TestSupport.loadFeature(
          "json/feature-select-string-off-default-on-namespace-off-namespace.json");
      final Feature feature2 = TestSupport.loadFeature("json/feature-1.json");
  
      assertEquals(feature, feature1);
      assertNotEquals(feature, feature2);
      assertSame(2, Sets.newHashSet(feature, feature1, feature2).size());
      assertEquals(feature.toString(), feature1.toString());
    }
test_case.class_method_signature: FeatureRecordTest.testEquals()
test_case.full_signature: @Test public void testEquals()
test_case.identifier: testEquals
test_case.invocations: loadFeature loadFeature loadFeature assertEquals assertNotEquals assertSame size newHashSet assertEquals toString toString
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testEquals()
focal_class.declarator: feature
focal_class.modifier: private final
focal_class.original_string: private final Feature feature;
focal_class.type: Feature
focal_class.var_name: feature
focal_class.declarator: namespaceFeatureMap = Maps.newHashMap()
focal_class.modifier: private final
focal_class.original_string: private final Map<String, NamespaceFeature> namespaceFeatureMap = Maps.newHashMap();
focal_class.type: Map<String, NamespaceFeature>
focal_class.var_name: namespaceFeatureMap
focal_class.declarator: namespaceControlFeatureOptionMap = Maps.newHashMap()
focal_class.modifier: private final
focal_class.original_string: private final Map<String, FeatureOption> namespaceControlFeatureOptionMap = Maps.newHashMap();
focal_class.type: Map<String, FeatureOption>
focal_class.var_name: namespaceControlFeatureOptionMap
focal_class.declarator: namespaceOptionSelectorWeightedMap =
        Maps.newHashMap()
focal_class.modifier: private final
focal_class.original_string: private final Map<String, OptionSelectorWeighted> namespaceOptionSelectorWeightedMap =
        Maps.newHashMap();
focal_class.type: Map<String, OptionSelectorWeighted>
focal_class.var_name: namespaceOptionSelectorWeightedMap
focal_class.declarator: optionSelectorWeighted
focal_class.modifier: private
focal_class.original_string: private OptionSelectorWeighted optionSelectorWeighted;
focal_class.type: OptionSelectorWeighted
focal_class.var_name: optionSelectorWeighted
focal_class.declarator: controlFeatureOption
focal_class.modifier: private
focal_class.original_string: private FeatureOption controlFeatureOption;
focal_class.type: FeatureOption
focal_class.var_name: controlFeatureOption
focal_class.file: outland-feature-java/src/main/java/outland/feature/FeatureRecord.java
focal_class.identifier: FeatureRecord
focal_class.class_method_signature: FeatureRecord.FeatureRecord(Feature feature)
focal_class.full_signature: private  FeatureRecord(Feature feature)
focal_class.identifier: FeatureRecord
focal_class.modifiers: private
focal_class.parameters: (Feature feature)
focal_class.signature:  FeatureRecord(Feature feature)
focal_class.class_method_signature: FeatureRecord.build(Feature feature)
focal_class.full_signature: static FeatureRecord build(Feature feature)
focal_class.identifier: build
focal_class.modifiers: static
focal_class.parameters: (Feature feature)
focal_class.return: FeatureRecord
focal_class.signature: FeatureRecord build(Feature feature)
focal_class.class_method_signature: FeatureRecord.feature()
focal_class.full_signature: public Feature feature()
focal_class.identifier: feature
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: Feature
focal_class.signature: Feature feature()
focal_class.class_method_signature: FeatureRecord.namespace(String namespace)
focal_class.full_signature:  NamespaceFeature namespace(String namespace)
focal_class.identifier: namespace
focal_class.parameters: (String namespace)
focal_class.return: NamespaceFeature
focal_class.signature: NamespaceFeature namespace(String namespace)
focal_class.class_method_signature: FeatureRecord.controlFeatureOption()
focal_class.full_signature:  FeatureOption controlFeatureOption()
focal_class.identifier: controlFeatureOption
focal_class.parameters: ()
focal_class.return: FeatureOption
focal_class.signature: FeatureOption controlFeatureOption()
focal_class.class_method_signature: FeatureRecord.controlFeatureOption(String namespace)
focal_class.full_signature:  FeatureOption controlFeatureOption(String namespace)
focal_class.identifier: controlFeatureOption
focal_class.parameters: (String namespace)
focal_class.return: FeatureOption
focal_class.signature: FeatureOption controlFeatureOption(String namespace)
focal_class.class_method_signature: FeatureRecord.optionSelectorWeighted()
focal_class.full_signature:  OptionSelectorWeighted optionSelectorWeighted()
focal_class.identifier: optionSelectorWeighted
focal_class.parameters: ()
focal_class.return: OptionSelectorWeighted
focal_class.signature: OptionSelectorWeighted optionSelectorWeighted()
focal_class.class_method_signature: FeatureRecord.optionSelectorWeighted(String namespace)
focal_class.full_signature:  OptionSelectorWeighted optionSelectorWeighted(String namespace)
focal_class.identifier: optionSelectorWeighted
focal_class.parameters: (String namespace)
focal_class.return: OptionSelectorWeighted
focal_class.signature: OptionSelectorWeighted optionSelectorWeighted(String namespace)
focal_class.class_method_signature: FeatureRecord.enabled()
focal_class.full_signature:  boolean enabled()
focal_class.identifier: enabled
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean enabled()
focal_class.class_method_signature: FeatureRecord.enabled(String namespace)
focal_class.full_signature:  boolean enabled(String namespace)
focal_class.identifier: enabled
focal_class.parameters: (String namespace)
focal_class.return: boolean
focal_class.signature: boolean enabled(String namespace)
focal_class.class_method_signature: FeatureRecord.select()
focal_class.full_signature:  String select()
focal_class.identifier: select
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String select()
focal_class.class_method_signature: FeatureRecord.select(String namespace)
focal_class.full_signature:  String select(String namespace)
focal_class.identifier: select
focal_class.parameters: (String namespace)
focal_class.return: String
focal_class.signature: String select(String namespace)
focal_class.class_method_signature: FeatureRecord.selectBoolean()
focal_class.full_signature:  boolean selectBoolean()
focal_class.identifier: selectBoolean
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean selectBoolean()
focal_class.class_method_signature: FeatureRecord.selectBoolean(String namespace)
focal_class.full_signature:  boolean selectBoolean(String namespace)
focal_class.identifier: selectBoolean
focal_class.parameters: (String namespace)
focal_class.return: boolean
focal_class.signature: boolean selectBoolean(String namespace)
focal_class.class_method_signature: FeatureRecord.selectControlOption(String namespace)
focal_class.full_signature: private String selectControlOption(String namespace)
focal_class.identifier: selectControlOption
focal_class.modifiers: private
focal_class.parameters: (String namespace)
focal_class.return: String
focal_class.signature: String selectControlOption(String namespace)
focal_class.class_method_signature: FeatureRecord.isDefaultNamespace(String namespace)
focal_class.full_signature: private boolean isDefaultNamespace(String namespace)
focal_class.identifier: isDefaultNamespace
focal_class.modifiers: private
focal_class.parameters: (String namespace)
focal_class.return: boolean
focal_class.signature: boolean isDefaultNamespace(String namespace)
focal_class.class_method_signature: FeatureRecord.prepare()
focal_class.full_signature: private void prepare()
focal_class.identifier: prepare
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void prepare()
focal_class.class_method_signature: FeatureRecord.prepareDefault()
focal_class.full_signature: private void prepareDefault()
focal_class.identifier: prepareDefault
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void prepareDefault()
focal_class.class_method_signature: FeatureRecord.prepareNamespaces()
focal_class.full_signature: private void prepareNamespaces()
focal_class.identifier: prepareNamespaces
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void prepareNamespaces()
focal_class.class_method_signature: FeatureRecord.matchesControlOption(String control, FeatureOption featureOption)
focal_class.full_signature: private boolean matchesControlOption(String control, FeatureOption featureOption)
focal_class.identifier: matchesControlOption
focal_class.modifiers: private
focal_class.parameters: (String control, FeatureOption featureOption)
focal_class.return: boolean
focal_class.signature: boolean matchesControlOption(String control, FeatureOption featureOption)
focal_class.class_method_signature: FeatureRecord.isOptionalType()
focal_class.full_signature: private boolean isOptionalType()
focal_class.identifier: isOptionalType
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean isOptionalType()
focal_class.class_method_signature: FeatureRecord.isOptionalType(OptionCollection options)
focal_class.full_signature: private boolean isOptionalType(OptionCollection options)
focal_class.identifier: isOptionalType
focal_class.modifiers: private
focal_class.parameters: (OptionCollection options)
focal_class.return: boolean
focal_class.signature: boolean isOptionalType(OptionCollection options)
focal_class.class_method_signature: FeatureRecord.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: FeatureRecord.equals(Object o)
focal_class.full_signature: @Override public boolean equals(Object o)
focal_class.identifier: equals
focal_class.modifiers: @Override public
focal_class.parameters: (Object o)
focal_class.return: boolean
focal_class.signature: boolean equals(Object o)
focal_class.class_method_signature: FeatureRecord.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_method.body: @Override public boolean equals(Object o) {
      if (this == o) return true;
      if (o == null || getClass() != o.getClass()) return false;
      FeatureRecord record = (FeatureRecord) o;
      return Objects.equals(optionSelectorWeighted, record.optionSelectorWeighted) &&
          Objects.equals(feature, record.feature) &&
          Objects.equals(namespaceFeatureMap, record.namespaceFeatureMap) &&
          Objects.equals(namespaceControlFeatureOptionMap,
              record.namespaceControlFeatureOptionMap) &&
          Objects.equals(namespaceOptionSelectorWeightedMap,
              record.namespaceOptionSelectorWeightedMap) &&
          Objects.equals(controlFeatureOption, record.controlFeatureOption);
    }
focal_method.class_method_signature: FeatureRecord.equals(Object o)
focal_method.full_signature: @Override public boolean equals(Object o)
focal_method.identifier: equals
focal_method.invocations: getClass getClass equals equals equals equals equals equals
focal_method.modifiers: @Override public
focal_method.parameters: (Object o)
focal_method.return: boolean
focal_method.signature: boolean equals(Object o)