예제 #1
0
        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));
        }
예제 #2
0
 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);
     }
 }