public void MovePointLeftI() { BigDecimal movePtLeft = BigDecimal.Parse("123456265.34"); BigDecimal alreadyMoved = BigMath.MovePointLeft(movePtLeft, 5); Assert.True(alreadyMoved.Scale == 7 && alreadyMoved.ToString().Equals("1234.5626534"), "move point left 5 failed"); movePtLeft = new BigDecimal(-value2, 0); alreadyMoved = BigMath.MovePointLeft(movePtLeft, 12); Assert.True(alreadyMoved.Scale == 12 && alreadyMoved.ToString().Equals("-0.012334560000"), "move point left 12 failed"); movePtLeft = new BigDecimal(123E18); alreadyMoved = BigMath.MovePointLeft(movePtLeft, 2); Assert.True(alreadyMoved.Scale == movePtLeft.Scale + 2 && alreadyMoved.ToDouble() == 1.23E18, "move point left 2 failed"); movePtLeft = new BigDecimal(1.123E-12); alreadyMoved = BigMath.MovePointLeft(movePtLeft, 3); Assert.True(alreadyMoved.Scale == movePtLeft.Scale + 3 && alreadyMoved.ToDouble() == 1.123E-15, "move point left 3 failed"); movePtLeft = new BigDecimal(value, 2); alreadyMoved = BigMath.MovePointLeft(movePtLeft, -2); Assert.True(alreadyMoved.Scale == movePtLeft.Scale - 2 && alreadyMoved.ToString().Equals("12345908"), "move point left -2 failed"); }