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
    public void testHashCode() {
      Set<QualifiedRecommendation> hashSet = new HashSet<>();
      hashSet.add(DEFAULT_QUALIFIED_RECOMMENDATION);
      hashSet.add(CLONED_DEFAULT_QUALIFIED_RECOMMENDATION);
      Assert.assertEquals(1, hashSet.size());
      hashSet.addAll(ALL_MUTATIONS);
      Assert.assertEquals(1 + ALL_MUTATIONS.size(), hashSet.size());
    }
test_case.class_method_signature: QualifiedRecommendationTest.testHashCode()
test_case.full_signature: @Test public void testHashCode()
test_case.identifier: testHashCode
test_case.invocations: add add assertEquals size addAll assertEquals size size
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testHashCode()
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 int hashCode() {
      final int prime = 31;
      int result = 1;
      result = prime * result + ((newEntry == null) ? 0 : newEntry.hashCode());
      result = prime * result + ((oldEntry == null) ? 0 : oldEntry.hashCode());
      result = prime * result + ((reason == null) ? 0 : reason.hashCode());
      result = prime * result + ((recommendation == null) ? 0 : recommendation.hashCode());
      return result;
    }
focal_method.class_method_signature: QualifiedRecommendation.hashCode()
focal_method.full_signature: @Override public int hashCode()
focal_method.identifier: hashCode
focal_method.invocations: hashCode hashCode hashCode hashCode
focal_method.modifiers: @Override public
focal_method.parameters: ()
focal_method.return: int
focal_method.signature: int hashCode()