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