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>())); }
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; }
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); }