public void ArithmeticMethods() { // Abs Assert.Equal(6m, SqlDecimal.Abs(_test4)); Assert.Equal(new SqlDecimal(6464.6464m).Value, SqlDecimal.Abs(_test1).Value); Assert.Equal(SqlDecimal.Null, SqlDecimal.Abs(SqlDecimal.Null)); // Add() SqlDecimal test2 = new SqlDecimal(-2000m); Assert.Equal(16464.6464m, SqlDecimal.Add(_test1, _test2).Value); Assert.Equal("158456325028528675187087900670", SqlDecimal.Add(_test5, _test5).ToString()); Assert.Equal(9994.00m, SqlDecimal.Add(_test3, _test4)); Assert.Equal(-2006m, SqlDecimal.Add(_test4, test2)); Assert.Equal(8000.00m, SqlDecimal.Add(test2, _test3)); Assert.Throws <OverflowException>(() => SqlDecimal.Add(SqlDecimal.MaxValue, SqlDecimal.MaxValue)); Assert.Equal(6465m, SqlDecimal.Ceiling(_test1)); Assert.Equal(SqlDecimal.Null, SqlDecimal.Ceiling(SqlDecimal.Null)); // Divide Assert.Equal(-1077.441066m, SqlDecimal.Divide(_test1, _test4)); Assert.Equal(1.54687501546m, SqlDecimal.Divide(_test2, _test1).Value, 9); Assert.Throws <DivideByZeroException>(() => SqlDecimal.Divide(_test1, new SqlDecimal(0))); Assert.Equal(6464m, SqlDecimal.Floor(_test1)); // Multiply() SqlDecimal Test; SqlDecimal test1 = new SqlDecimal(2m); Assert.Equal(64646464m, SqlDecimal.Multiply(_test1, _test2).Value); Assert.Equal(-38787.8784m, SqlDecimal.Multiply(_test1, _test4).Value); Test = SqlDecimal.Multiply(_test5, test1); Assert.Equal("158456325028528675187087900670", Test.ToString()); Assert.Throws <OverflowException>(() => SqlDecimal.Multiply(SqlDecimal.MaxValue, _test1)); // Power Assert.Equal(41791653.0770m, SqlDecimal.Power(_test1, 2)); // Round Assert.Equal(6464.65m, SqlDecimal.Round(_test1, 2)); // Subtract() Assert.Equal(-3535.3536m, SqlDecimal.Subtract(_test1, _test3).Value); Assert.Equal(10006.00m, SqlDecimal.Subtract(_test3, _test4).Value); Assert.Equal("99999999920771837485735662406456049664", SqlDecimal.Subtract(SqlDecimal.MaxValue, decimal.MaxValue).ToString()); Assert.Throws <OverflowException>(() => SqlDecimal.Subtract(SqlDecimal.MinValue, SqlDecimal.MaxValue)); Assert.Equal(1, SqlDecimal.Sign(_test1)); Assert.Equal(new SqlInt32(-1), SqlDecimal.Sign(_test4)); }