test_class.declarator: FILENAME1 = {'f', 'o', 'o'}
test_class.modifier: private static final
test_class.original_string: private static final byte[] FILENAME1 = {'f', 'o', 'o'};
test_class.type: byte[]
test_class.var_name: FILENAME1
test_class.declarator: FILENAME2 = {'b', 'a', 'r'}
test_class.modifier: private static final
test_class.original_string: private static final byte[] FILENAME2 = {'b', 'a', 'r'};
test_class.type: byte[]
test_class.var_name: FILENAME2
test_class.declarator: ENTRY1 = new MinimalZipEntry(0, 1, 2, 3, FILENAME1, true, 0)
test_class.modifier: private static final
test_class.original_string: private static final MinimalZipEntry ENTRY1 = new MinimalZipEntry(0, 1, 2, 3, FILENAME1, true, 0);
test_class.type: MinimalZipEntry
test_class.var_name: ENTRY1
test_class.declarator: ENTRY2 = new MinimalZipEntry(1, 2, 3, 4, FILENAME2, true, 0)
test_class.modifier: private static final
test_class.original_string: private static final MinimalZipEntry ENTRY2 = new MinimalZipEntry(1, 2, 3, 4, FILENAME2, true, 0);
test_class.type: MinimalZipEntry
test_class.var_name: ENTRY2
test_class.declarator: DEFAULT_QUALIFIED_RECOMMENDATION =
        new QualifiedRecommendation(
            ENTRY1,
            ENTRY2,
            Recommendation.UNCOMPRESS_BOTH,
            RecommendationReason.COMPRESSED_BYTES_CHANGED)
test_class.modifier: private static final
test_class.original_string: private static final QualifiedRecommendation DEFAULT_QUALIFIED_RECOMMENDATION =
        new QualifiedRecommendation(
            ENTRY1,
            ENTRY2,
            Recommendation.UNCOMPRESS_BOTH,
            RecommendationReason.COMPRESSED_BYTES_CHANGED);
test_class.type: QualifiedRecommendation
test_class.var_name: DEFAULT_QUALIFIED_RECOMMENDATION
test_class.declarator: CLONED_DEFAULT_QUALIFIED_RECOMMENDATION =
        new QualifiedRecommendation(
            ENTRY1,
            ENTRY2,
            Recommendation.UNCOMPRESS_BOTH,
            RecommendationReason.COMPRESSED_BYTES_CHANGED)
test_class.modifier: private static final
test_class.original_string: private static final QualifiedRecommendation CLONED_DEFAULT_QUALIFIED_RECOMMENDATION =
        new QualifiedRecommendation(
            ENTRY1,
            ENTRY2,
            Recommendation.UNCOMPRESS_BOTH,
            RecommendationReason.COMPRESSED_BYTES_CHANGED);
test_class.type: QualifiedRecommendation
test_class.var_name: CLONED_DEFAULT_QUALIFIED_RECOMMENDATION
test_class.declarator: ALTERED_ENTRY1 =
        new QualifiedRecommendation(
            ENTRY2,
            ENTRY2,
            Recommendation.UNCOMPRESS_BOTH,
            RecommendationReason.COMPRESSED_BYTES_CHANGED)
test_class.modifier: private static final
test_class.original_string: private static final QualifiedRecommendation ALTERED_ENTRY1 =
        new QualifiedRecommendation(
            ENTRY2,
            ENTRY2,
            Recommendation.UNCOMPRESS_BOTH,
            RecommendationReason.COMPRESSED_BYTES_CHANGED);
test_class.type: QualifiedRecommendation
test_class.var_name: ALTERED_ENTRY1
test_class.declarator: ALTERED_ENTRY2 =
        new QualifiedRecommendation(
            ENTRY1,
            ENTRY1,
            Recommendation.UNCOMPRESS_BOTH,
            RecommendationReason.COMPRESSED_BYTES_CHANGED)
test_class.modifier: private static final
test_class.original_string: private static final QualifiedRecommendation ALTERED_ENTRY2 =
        new QualifiedRecommendation(
            ENTRY1,
            ENTRY1,
            Recommendation.UNCOMPRESS_BOTH,
            RecommendationReason.COMPRESSED_BYTES_CHANGED);
test_class.type: QualifiedRecommendation
test_class.var_name: ALTERED_ENTRY2
test_class.declarator: ALTERED_RECOMMENDATION =
        new QualifiedRecommendation(
            ENTRY1,
            ENTRY2,
            Recommendation.UNCOMPRESS_NEITHER,
            RecommendationReason.COMPRESSED_BYTES_CHANGED)
test_class.modifier: private static final
test_class.original_string: private static final QualifiedRecommendation ALTERED_RECOMMENDATION =
        new QualifiedRecommendation(
            ENTRY1,
            ENTRY2,
            Recommendation.UNCOMPRESS_NEITHER,
            RecommendationReason.COMPRESSED_BYTES_CHANGED);
test_class.type: QualifiedRecommendation
test_class.var_name: ALTERED_RECOMMENDATION
test_class.declarator: ALTERED_REASON =
        new QualifiedRecommendation(
            ENTRY1, ENTRY2, Recommendation.UNCOMPRESS_BOTH, RecommendationReason.UNSUITABLE)
test_class.modifier: private static final
test_class.original_string: private static final QualifiedRecommendation ALTERED_REASON =
        new QualifiedRecommendation(
            ENTRY1, ENTRY2, Recommendation.UNCOMPRESS_BOTH, RecommendationReason.UNSUITABLE);
test_class.type: QualifiedRecommendation
test_class.var_name: ALTERED_REASON
test_class.declarator: ALL_MUTATIONS =
        Collections.unmodifiableList(
            Arrays.asList(ALTERED_ENTRY1, ALTERED_ENTRY2, ALTERED_RECOMMENDATION, ALTERED_REASON))
test_class.modifier: private static final
test_class.original_string: private static final List<QualifiedRecommendation> ALL_MUTATIONS =
        Collections.unmodifiableList(
            Arrays.asList(ALTERED_ENTRY1, ALTERED_ENTRY2, ALTERED_RECOMMENDATION, ALTERED_REASON));
test_class.type: List<QualifiedRecommendation>
test_class.var_name: ALL_MUTATIONS
test_class.file: feya/libraries/archive_diff/diff.generator/src/test/java/com/google/archivepatcher/generator/QualifiedRecommendationTest.java
test_class.identifier: QualifiedRecommendationTest
test_case.body: @Test
    @SuppressWarnings("EqualsIncompatibleType") // For ErrorProne
    public void testEquals() {
      Assert.assertEquals(DEFAULT_QUALIFIED_RECOMMENDATION, DEFAULT_QUALIFIED_RECOMMENDATION);
      Assert.assertEquals(DEFAULT_QUALIFIED_RECOMMENDATION, CLONED_DEFAULT_QUALIFIED_RECOMMENDATION);
      Assert.assertNotSame(DEFAULT_QUALIFIED_RECOMMENDATION, CLONED_DEFAULT_QUALIFIED_RECOMMENDATION);
      for (QualifiedRecommendation mutation : ALL_MUTATIONS) {
        Assert.assertNotEquals(DEFAULT_QUALIFIED_RECOMMENDATION, mutation);
      }
      Assert.assertFalse(DEFAULT_QUALIFIED_RECOMMENDATION.equals(null));
      Assert.assertFalse(DEFAULT_QUALIFIED_RECOMMENDATION.equals("foo"));
    }
test_case.class_method_signature: QualifiedRecommendationTest.testEquals()
test_case.full_signature: @Test @SuppressWarnings("EqualsIncompatibleType") // For ErrorProne public void testEquals()
test_case.identifier: testEquals
test_case.invocations: assertEquals assertEquals assertNotSame assertNotEquals assertFalse equals assertFalse equals
test_case.modifiers: @Test @SuppressWarnings("EqualsIncompatibleType") // For ErrorProne public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testEquals()
focal_class.declarator: oldEntry
focal_class.modifier: private final
focal_class.original_string: private final MinimalZipEntry oldEntry;
focal_class.type: MinimalZipEntry
focal_class.var_name: oldEntry
focal_class.declarator: newEntry
focal_class.modifier: private final
focal_class.original_string: private final MinimalZipEntry newEntry;
focal_class.type: MinimalZipEntry
focal_class.var_name: newEntry
focal_class.declarator: recommendation
focal_class.modifier: private final
focal_class.original_string: private final Recommendation recommendation;
focal_class.type: Recommendation
focal_class.var_name: recommendation
focal_class.declarator: reason
focal_class.modifier: private final
focal_class.original_string: private final RecommendationReason reason;
focal_class.type: RecommendationReason
focal_class.var_name: reason
focal_class.file: feya/libraries/archive_diff/diff.generator/src/main/java/com/google/archivepatcher/generator/QualifiedRecommendation.java
focal_class.identifier: QualifiedRecommendation
focal_class.class_method_signature: QualifiedRecommendation.QualifiedRecommendation(
        MinimalZipEntry oldEntry,
        MinimalZipEntry newEntry,
        Recommendation recommendation,
        RecommendationReason reason)
focal_class.full_signature: public  QualifiedRecommendation(
        MinimalZipEntry oldEntry,
        MinimalZipEntry newEntry,
        Recommendation recommendation,
        RecommendationReason reason)
focal_class.identifier: QualifiedRecommendation
focal_class.modifiers: public
focal_class.parameters: (
        MinimalZipEntry oldEntry,
        MinimalZipEntry newEntry,
        Recommendation recommendation,
        RecommendationReason reason)
focal_class.signature:  QualifiedRecommendation(
        MinimalZipEntry oldEntry,
        MinimalZipEntry newEntry,
        Recommendation recommendation,
        RecommendationReason reason)
focal_class.class_method_signature: QualifiedRecommendation.getOldEntry()
focal_class.full_signature: public MinimalZipEntry getOldEntry()
focal_class.identifier: getOldEntry
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: MinimalZipEntry
focal_class.signature: MinimalZipEntry getOldEntry()
focal_class.class_method_signature: QualifiedRecommendation.getNewEntry()
focal_class.full_signature: public MinimalZipEntry getNewEntry()
focal_class.identifier: getNewEntry
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: MinimalZipEntry
focal_class.signature: MinimalZipEntry getNewEntry()
focal_class.class_method_signature: QualifiedRecommendation.getRecommendation()
focal_class.full_signature: public Recommendation getRecommendation()
focal_class.identifier: getRecommendation
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: Recommendation
focal_class.signature: Recommendation getRecommendation()
focal_class.class_method_signature: QualifiedRecommendation.getReason()
focal_class.full_signature: public RecommendationReason getReason()
focal_class.identifier: getReason
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: RecommendationReason
focal_class.signature: RecommendationReason getReason()
focal_class.class_method_signature: QualifiedRecommendation.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: QualifiedRecommendation.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_class.class_method_signature: QualifiedRecommendation.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 obj) {
      if (this == obj) {
        return true;
      }
      if (obj == null) {
        return false;
      }
      if (getClass() != obj.getClass()) {
        return false;
      }
      QualifiedRecommendation other = (QualifiedRecommendation) obj;
      if (newEntry == null) {
        if (other.newEntry != null) {
          return false;
        }
      } else if (!newEntry.equals(other.newEntry)) {
        return false;
      }
      if (oldEntry == null) {
        if (other.oldEntry != null) {
          return false;
        }
      } else if (!oldEntry.equals(other.oldEntry)) {
        return false;
      }
      if (reason != other.reason) {
        return false;
      }
      if (recommendation != other.recommendation) {
        return false;
      }
      return true;
    }
focal_method.class_method_signature: QualifiedRecommendation.equals(Object obj)
focal_method.full_signature: @Override public boolean equals(Object obj)
focal_method.identifier: equals
focal_method.invocations: getClass getClass equals equals
focal_method.modifiers: @Override public
focal_method.parameters: (Object obj)
focal_method.return: boolean
focal_method.signature: boolean equals(Object obj)