public void Compare() { FungibleAssetValue foo100a = FungibleAssetValue.FromRawValue(FOO, 100); FungibleAssetValue foo100b = FungibleAssetValue.FromRawValue(FOO, 100); FungibleAssetValue foo200 = FungibleAssetValue.FromRawValue(FOO, 200); FungibleAssetValue bar100 = FungibleAssetValue.FromRawValue(BAR, 100); Assert.Equal(0, foo100a.CompareTo(foo100b)); Assert.Equal(0, foo100a.CompareTo((object)foo100b)); Assert.False(foo100a < foo100b); Assert.True(foo100a <= foo100b); Assert.False(foo100a > foo100b); Assert.True(foo100a >= foo100b); Assert.True(foo100a.CompareTo(foo200) < 0); Assert.True(foo100a.CompareTo((object)foo200) < 0); Assert.True(foo100a < foo200); Assert.True(foo100a <= foo200); Assert.False(foo100a > foo200); Assert.False(foo100a >= foo200); Assert.True(foo200.CompareTo(foo100b) > 0); Assert.True(foo200.CompareTo((object)foo100b) > 0); Assert.False(foo200 < foo100b); Assert.False(foo200 <= foo100b); Assert.True(foo200 > foo100b); Assert.True(foo200 >= foo100b); Assert.Throws <ArgumentException>(() => foo100a.CompareTo(bar100)); Assert.Throws <ArgumentException>(() => foo100a.CompareTo((object)bar100)); Assert.Throws <ArgumentException>(() => foo100a < bar100); Assert.Throws <ArgumentException>(() => foo100a <= bar100); Assert.Throws <ArgumentException>(() => foo100a > bar100); Assert.Throws <ArgumentException>(() => foo100a >= bar100); Assert.Throws <ArgumentException>(() => foo100a.CompareTo(100)); }