public void MoneyNegativeAmountSubtractionIsCorrect()
        {
            // negative
            MoneyWholeNumber money1 = 100.999M;
            MoneyWholeNumber money2 = -0.9M;

            Assert.That(new MoneyWholeNumber(101.899M), Is.EqualTo(money1 - money2));
        }
        public void MoneyFractionalAmountWithOverflowSubtractionIsCorrect()
        {
            // overflow
            MoneyWholeNumber money1 = 100.75M;
            MoneyWholeNumber money2 = 0.9M;

            Assert.That(new MoneyWholeNumber(100M), Is.EqualTo(money1 - money2));
        }
        public void MoneyNegativeAmountWithOverflowSubtractionIsCorrect()
        {
            // negative overflow
            MoneyWholeNumber money1 = -100.999M;
            MoneyWholeNumber money2 = -0.9M;

            Assert.That(new MoneyWholeNumber(-100.099M), Is.EqualTo(money1 - money2));
        }
        public void MoneyFractionalAmountSubtractionIsCorrect()
        {
            // fractions
            MoneyWholeNumber money1 = 100.00M;
            MoneyWholeNumber money2 = 0.01M;

            Assert.That(new MoneyWholeNumber(99.99M), Is.EqualTo(money1 - money2));
        }
        public void MoneyTryParseIsCorrect()
        {
            MoneyWholeNumber actual;
            var result = MoneyWholeNumber.TryParse("$123.45", out actual);

            Assert.True(result);
            Assert.That(actual, Is.EqualTo(new MoneyWholeNumber(123M)));
        }
        public void MoneyFractionalAmountAdditionIsCorrect()
        {
            // fractions
            MoneyWholeNumber money1 = 100.00M;
            MoneyWholeNumber money2 = 0.01M;

            Assert.That(new MoneyWholeNumber(100M), Is.EqualTo(money1 + money2), "Rounding should take effect");
        }
        public void MoneyWholeAmountSubtractionIsCorrect()
        {
            // whole number
            MoneyWholeNumber money1 = 101M;
            MoneyWholeNumber money2 = 99M;

            Assert.That(new MoneyWholeNumber(2), Is.EqualTo(money1 - money2));
        }
        public void MoneyHasValueEquality()
        {
            var money1 = new MoneyWholeNumber(101.5M);
            var money2 = new MoneyWholeNumber(101.5M);

            Assert.That(money1, Is.EqualTo(money2));
            Assert.That(money1, Is.Not.SameAs(money2));
        }
        public void MoneyPrintsCorrectly()
        {
            var previousCulture = Thread.CurrentThread.CurrentCulture;

            Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
            var moneyWholeNumber = new MoneyWholeNumber(100.125M);
            var formattedMoney   = moneyWholeNumber.ToString();

            Assert.That(formattedMoney, Is.EqualTo("$100"));
            Thread.CurrentThread.CurrentCulture = previousCulture;
        }
Example #10
0
        public void MoneyNotEqualOperatorIsCorrect()
        {
            MoneyWholeNumber money1 = 100.125;
            MoneyWholeNumber money2 = 100.125;

            Assert.False(money1 != money2);

            money2 = 101.125;
            Assert.True(money1 != money2);

            money2 = 100.25;
            Assert.False(money1 != money2);
        }
Example #11
0
        public void MoneyGreaterThanEqualOperatorIsCorrect()
        {
            MoneyWholeNumber money1 = 100.125;
            MoneyWholeNumber money2 = 100.125;

            Assert.True(money1 >= money2);

            money2 = 101.125;
            Assert.True(money2 >= money1);
            Assert.False(money1 >= money2);

            money2 = 100.25;
            Assert.True(money2 == money1);
        }
Example #12
0
        public void MoneyLessThanOperatorIsCorrect()
        {
            MoneyWholeNumber money1 = 100;
            MoneyWholeNumber money2 = 100;

            Assert.False(money1 < money2);

            money2 = 101;
            Assert.False(money2 < money1);
            Assert.True(money1 < money2);

            money2 = 99;
            Assert.False(money1 < money2);
            Assert.True(money2 < money1);
        }
Example #13
0
        public void MoneyGreaterThanOperatorIsCorrect()
        {
            MoneyWholeNumber money1 = 100;
            MoneyWholeNumber money2 = 100;

            Assert.False(money1 > money2);

            money2 = 101;
            Assert.True(money2 > money1);
            Assert.False(money1 > money2);

            money2 = 99;
            Assert.True(money1 > money2);
            Assert.False(money2 > money1);
        }
Example #14
0
        public void MoneyScalarFractionalDivisionIsCorrect()
        {
            MoneyWholeNumber MoneyWholeNumber = 100.125;

            Assert.That(new MoneyWholeNumber(200.25M), Is.EqualTo(MoneyWholeNumber / 0.5M));
        }
Example #15
0
        public void MoneyScalarNegativeFractionalDivisionIsCorrect()
        {
            MoneyWholeNumber moneyWholeNumber = -100.125;

            Assert.That(new MoneyWholeNumber(-200.25M), Is.EqualTo(moneyWholeNumber / 0.5M));
        }
Example #16
0
        public void MoneyScalarNegativeWholeDivisionIsCorrect()
        {
            MoneyWholeNumber MoneyWholeNumber = -100.125;

            Assert.That(new MoneyWholeNumber(-50.0625M), Is.EqualTo(MoneyWholeNumber / 2));
        }
Example #17
0
        public void MoneyScalarWholeDivisionIsCorrect()
        {
            MoneyWholeNumber moneyWholeNumber = 100.125;

            Assert.That(new MoneyWholeNumber(50.0625M), Is.EqualTo(moneyWholeNumber / 2));
        }
Example #18
0
        public void MoneyScalarNegativeFractionalMultiplicationIsCorrect()
        {
            MoneyWholeNumber moneyWholeNumber = -100.125;

            Assert.That(new MoneyWholeNumber(-50.0625M), Is.EqualTo(moneyWholeNumber * 0.5M));
        }
Example #19
0
        public void MoneyScalarNegativeWholeMultiplicationIsCorrect()
        {
            MoneyWholeNumber moneyWholeNumber = -100.125;

            Assert.That(new MoneyWholeNumber(-500M), Is.EqualTo(moneyWholeNumber * 5));
        }