public void calculating_donation_info_should_use_proper_providers()
        {
            var donationEngine = new DonationEngine(_storageMock.Object, _calculatorMock.Object, _configurationMock.Object);
            donationEngine.Donate(DonationAmount, new EventActivity { EventType = EventType.Other });

            _storageMock.Verify(x => x.RetrieveTaxRate());
            _calculatorMock.Verify(x => x.CalculateGiftAidAmount(It.IsAny<decimal>(), It.IsAny<decimal>()));
            _configurationMock.Verify(x => x.CalculateSupplementedAmount(It.IsAny<decimal>(), It.IsAny<EventType>()));
        }
        public void calculating_donation_info_should_return_proper_values()
        {
            var donationEngine = new DonationEngine(_storageMock.Object, _calculatorMock.Object, _configurationMock.Object);
            var donationInfo = donationEngine.Donate(DonationAmount, new EventActivity { EventType = EventType.Other});

            Assert.AreEqual(DonationAmount, donationInfo.OriginalDonation);
            Assert.AreEqual(SupplementedAmount, donationInfo.SupplementedDonation);
            Assert.AreEqual(GiftAid, donationInfo.GiftAid);
            Assert.AreEqual(345.68m, donationInfo.GiftAidRounded);
        }
        public void calculating_donation_info_should_return_proper_values()
        {
            var donationEngine = new DonationEngine(_storageMock.Object, _calculatorMock.Object, _configurationMock.Object);
            var donationInfo   = donationEngine.Donate(DonationAmount, new EventActivity {
                EventType = EventType.Other
            });

            Assert.AreEqual(DonationAmount, donationInfo.OriginalDonation);
            Assert.AreEqual(SupplementedAmount, donationInfo.SupplementedDonation);
            Assert.AreEqual(GiftAid, donationInfo.GiftAid);
            Assert.AreEqual(345.68m, donationInfo.GiftAidRounded);
        }
        public void calculating_donation_info_should_use_proper_providers()
        {
            var donationEngine = new DonationEngine(_storageMock.Object, _calculatorMock.Object, _configurationMock.Object);

            donationEngine.Donate(DonationAmount, new EventActivity {
                EventType = EventType.Other
            });

            _storageMock.Verify(x => x.RetrieveTaxRate());
            _calculatorMock.Verify(x => x.CalculateGiftAidAmount(It.IsAny <decimal>(), It.IsAny <decimal>()));
            _configurationMock.Verify(x => x.CalculateSupplementedAmount(It.IsAny <decimal>(), It.IsAny <EventType>()));
        }
Пример #5
0
        static decimal GiftAidAmount(decimal donationAmount)
        {
            var storage = new TaxRateStorageImpl();
            storage.StoreTaxRate(25m);

            var donationEngine = new DonationEngine(
                storage,
                new GiftAidCalculator(),
                new SupplementCalculator());

            var info = donationEngine.Donate(donationAmount, new EventActivity { EventType = EventType.Other });

            return info.GiftAidRounded;
        }
Пример #6
0
        static decimal GiftAidAmount(decimal donationAmount)
        {
            var storage = new TaxRateStorageImpl();

            storage.StoreTaxRate(25m);

            var donationEngine = new DonationEngine(
                storage,
                new GiftAidCalculator(),
                new SupplementCalculator());

            var info = donationEngine.Donate(donationAmount, new EventActivity {
                EventType = EventType.Other
            });

            return(info.GiftAidRounded);
        }