示例#1
0
        public void AutoTestCase_Balance_TestCeiling()
        {
            Amount a1 = new Amount("0.00");
            Amount a2 = new Amount("$ 123.123");
            Amount a3 = new Amount("EUR 456.56");
            Amount a4 = new Amount(-a1);
            Amount a5 = new Amount(-a2);
            Amount a6 = new Amount(-a3);

            Balance b0 = new Balance();
            Balance b1 = new Balance();
            Balance b2 = new Balance();
            Balance b3 = new Balance();
            Balance b4 = new Balance();

            b1 += a1;
            b1 += a2;
            b1 += a3;
            b2 += -a1;
            b2 += -a2;
            b2 += -a3;

            b3 += a1.Ceilinged();
            b3 += a2.Ceilinged();
            b3 += a3.Ceilinged();
            b4 += a4.Ceilinged();
            b4 += a5.Ceilinged();
            b4 += a6.Ceilinged();

            Assert.Equal(b0.Ceilinged(), b0);
            Assert.Equal(b2.Ceilinged(), b4);
            Assert.Equal(b1.Ceilinged(), b3);

            b1.InPlaceCeiling();
            Assert.Equal(b1, b3);

            Assert.True(b0.Valid());
            Assert.True(b1.Valid());
            Assert.True(b2.Valid());
            Assert.True(b3.Valid());
            Assert.True(b4.Valid());
        }