public void Equality() { FungibleAssetValue foo100a = FungibleAssetValue.FromRawValue(FOO, 100); FungibleAssetValue foo100b = FungibleAssetValue.FromRawValue(FOO, 100); FungibleAssetValue foo200a = FungibleAssetValue.FromRawValue(FOO, 200); FungibleAssetValue foo200b = FungibleAssetValue.FromRawValue(FOO, 200); FungibleAssetValue bar100a = FungibleAssetValue.FromRawValue(BAR, 100); FungibleAssetValue bar100b = FungibleAssetValue.FromRawValue(BAR, 100); FungibleAssetValue bar200a = FungibleAssetValue.FromRawValue(BAR, 200); FungibleAssetValue bar200b = FungibleAssetValue.FromRawValue(BAR, 200); Assert.Equal(foo100b, foo100a); Assert.Equal(foo100b.GetHashCode(), foo100a.GetHashCode()); Assert.True(foo100b.Equals((object)foo100a)); Assert.True(foo100b == foo100a); Assert.False(foo100b != foo100a); Assert.Equal(foo200b, foo200a); Assert.Equal(foo200b.GetHashCode(), foo200a.GetHashCode()); Assert.True(foo200b.Equals((object)foo200a)); Assert.True(foo200b == foo200a); Assert.False(foo200b != foo200a); Assert.Equal(bar100b, bar100a); Assert.Equal(bar100b.GetHashCode(), bar100a.GetHashCode()); Assert.True(bar100b.Equals((object)bar100a)); Assert.True(bar100b == bar100a); Assert.False(bar100b != bar100a); Assert.Equal(bar200b, bar200a); Assert.Equal(bar200b.GetHashCode(), bar200a.GetHashCode()); Assert.True(bar200b.Equals((object)bar200a)); Assert.True(bar200b == bar200a); Assert.False(bar200b != bar200a); Assert.NotEqual(foo100a, foo200a); Assert.False(foo100a.Equals((object)foo200a)); Assert.False(foo100a == foo200a); Assert.True(foo100a != foo200a); Assert.NotEqual(foo100a, bar100a); Assert.False(foo100a.Equals((object)bar100a)); Assert.False(foo100a == bar100a); Assert.True(foo100a != bar100a); Assert.NotEqual(foo100a, bar200a); Assert.False(foo100a.Equals((object)bar200a)); Assert.False(foo100a == bar200a); Assert.True(foo100a != bar200a); Assert.NotEqual(bar100a, foo200a); Assert.False(bar100a.Equals((object)foo200a)); Assert.False(bar100a == foo200a); Assert.True(bar100a != foo200a); Assert.NotEqual(foo100a, bar100a); Assert.False(foo100a.Equals((object)bar100a)); Assert.False(foo100a == bar100a); Assert.True(foo100a != bar100a); Assert.NotEqual(foo100a, bar200a); Assert.False(foo100a.Equals((object)bar200a)); Assert.False(foo100a == bar200a); Assert.True(foo100a != bar200a); Assert.False(foo100a.Equals(100)); Assert.False(foo200a.Equals(200)); }
public override int GetHashCode() { unchecked { var hashCode = StartedBlockIndex.GetHashCode(); hashCode = (hashCode * 397) ^ ExpiredBlockIndex.GetHashCode(); hashCode = (hashCode * 397) ^ OrderId.GetHashCode(); hashCode = (hashCode * 397) ^ TradableId.GetHashCode(); hashCode = (hashCode * 397) ^ Price.GetHashCode(); hashCode = (hashCode * 397) ^ CombatPoint; hashCode = (hashCode * 397) ^ Level; hashCode = (hashCode * 397) ^ ItemId; hashCode = (hashCode * 397) ^ SellerAgentAddress.GetHashCode(); hashCode = (hashCode * 397) ^ ItemCount; return(hashCode); } }