anchor.diff:          hairColor: Color.black,
         );
         expect(instance == instance, true);
  +    });
  +
  +    test('should return correct hashCode', () {
  +      final instance = ComplexEquatable(
  +        name: 'Joe',
  +        age: 40,
  +        hairColor: Color.black,
  +      );
  +      expect(
  +        instance.hashCode,
  +        instance.runtimeType.hashCode ^
  +            instance.name.hashCode ^
  +            instance.age.hashCode ^
  +            instance.hairColor.hashCode,
  +      );
       });
   
       test('should return true when instances are different', () {
  
positive.code:       expect(instance == instance, true);
      });
  
      test('should return true when instances are different', () {
        final instanceA = SimpleEquatable(EquatableData(
          key: 'foo',
  
negative.code:       expect(instance == instance, true);
      });
  
      test('should return correct hashCode', () {
        final instance = SimpleEquatable(true);
        expect(
          instance.hashCode,
          instance.runtimeType.hashCode ^ instance.data.hashCode,
        );
      });
  
      test('should return true when instances are different', () {
        final instanceA = SimpleEquatable(true);
        final instanceB = SimpleEquatable(true);
  