public void TestEquals() { var tradeType = new TradeType { Code = "B", Name = "Buy" }; var tradeType2 = tradeType; var clone = tradeType.Clone(); Assert.AreNotSame(tradeType, clone); Assert.IsTrue(tradeType.Equals(tradeType2)); Assert.IsTrue(tradeType2.Equals(tradeType)); Assert.IsTrue(tradeType.Equals(clone)); Assert.IsTrue(clone.Equals(tradeType)); Assert.IsFalse(tradeType.Equals(new TradeType { Code = "B", Name = "Buy" })); Assert.IsFalse(new TradeType { Code = "B", Name = "Buy" }.Equals(tradeType)); tradeType.Code = " \tB \n "; Assert.IsTrue(clone.Equals(tradeType)); Assert.IsTrue(tradeType.Equals(clone)); tradeType.Name = " Buy \n\r"; Assert.IsTrue(clone.Equals(tradeType)); Assert.IsTrue(tradeType.Equals(clone)); tradeType.Description = "Some description"; tradeType.Ordinal = 10; Assert.IsTrue(clone.Equals(tradeType)); Assert.IsTrue(tradeType.Equals(clone)); tradeType.Code = "b"; Assert.IsFalse(clone.Equals(tradeType)); Assert.IsFalse(tradeType.Equals(clone)); tradeType.Code = "B"; Assert.IsTrue(clone.Equals(tradeType)); tradeType.Name = "buy"; Assert.IsFalse(clone.Equals(tradeType)); Assert.IsFalse(tradeType.Equals(clone)); }
public void TestGetHashCode() { var tradeType = new TradeType { Code = "B", Name = "Buy" }; var hashCode = tradeType.GetHashCode(); var clone = tradeType.Clone(); Assert.AreNotSame(tradeType, clone); Assert.AreEqual(tradeType.Id.Value.GetHashCode() ^ typeof(TradeType).GetHashCode() ^ tradeType.Code.Trim().GetHashCode() ^ tradeType.Name.Trim().GetHashCode(), tradeType.GetHashCode()); Assert.AreEqual(tradeType.GetHashCode(), clone.GetHashCode()); Assert.AreNotEqual(new TradeType { Code = "B", Name = "Buy" }.GetHashCode(), tradeType.GetHashCode()); tradeType.Code = "\t B \r\n"; Assert.AreEqual(hashCode, tradeType.GetHashCode()); tradeType.Name = " \t Buy\r\n "; Assert.AreEqual(hashCode, tradeType.GetHashCode()); tradeType.Code = "b"; Assert.AreNotEqual(hashCode, tradeType.GetHashCode()); tradeType.Code = "B"; Assert.AreEqual(hashCode, tradeType.GetHashCode()); tradeType.Description = "Some description"; tradeType.Ordinal = 10; Assert.AreEqual(hashCode, tradeType.GetHashCode()); }