public override int GetHashCode() { unchecked { return((CharSet.GetHashCode() * 397) ^ Collation.GetHashCode()); } }
public override int GetHashCode() { int hash = 1; if (Type != 0) { hash ^= Type.GetHashCode(); } if (Name.Length != 0) { hash ^= Name.GetHashCode(); } if (OriginalName.Length != 0) { hash ^= OriginalName.GetHashCode(); } if (Table.Length != 0) { hash ^= Table.GetHashCode(); } if (OriginalTable.Length != 0) { hash ^= OriginalTable.GetHashCode(); } if (Schema.Length != 0) { hash ^= Schema.GetHashCode(); } if (Catalog.Length != 0) { hash ^= Catalog.GetHashCode(); } if (Collation != 0UL) { hash ^= Collation.GetHashCode(); } if (FractionalDigits != 0) { hash ^= FractionalDigits.GetHashCode(); } if (Length != 0) { hash ^= Length.GetHashCode(); } if (Flags != 0) { hash ^= Flags.GetHashCode(); } if (ContentType != 0) { hash ^= ContentType.GetHashCode(); } return(hash); }
public void Equals_should_compare_alternate_fields( [Values(null, CollationAlternate.NonIgnorable, CollationAlternate.Shifted)] CollationAlternate? lhsAlternate, [Values(null, CollationAlternate.NonIgnorable, CollationAlternate.Shifted)] CollationAlternate? rhsAlternate) { var lhs = new Collation("en_US", alternate: lhsAlternate); var rhs = new Collation("en_US", alternate: rhsAlternate); var result1 = lhs.Equals(rhs); var result2 = lhs.Equals((object)rhs); var lhsHashCode = lhs.GetHashCode(); var rhsHashCode = rhs.GetHashCode(); var expectedResult = lhsAlternate == rhsAlternate; result1.Should().Be(expectedResult); result2.Should().Be(expectedResult); (lhsHashCode == rhsHashCode).Should().Be(expectedResult); }
// helper methods private void Equals_Act_and_Assert(Collation lhs, Collation rhs, bool expectedResult) { var result1 = lhs.Equals(rhs); var result2 = lhs.Equals((object)rhs); var lhsHashCode = lhs.GetHashCode(); var rhsHashCode = rhs.GetHashCode(); result1.Should().Be(expectedResult); result2.Should().Be(expectedResult); (lhsHashCode == rhsHashCode).Should().Be(expectedResult); }