public void ComputeTax_Fail(string postalCode, double annualIncome, double taxAmount) { //Given MockPayRepository mockPayRepository = new MockPayRepository(); var taxCalculatorFactory = new TaxCalculatorFactory(iOptionsMock.Object, taxCalculationTypeOptionMock.Object); var insertCalculatedTaxCommandHandler = new CalculateTaxCommandHandler(taxCalculatorFactory, mockPayRepository); Assert.Throws <ArgumentNullException>(() => insertCalculatedTaxCommandHandler.Handle(new CalculateTaxCommand { AnnualIncome = annualIncome, PostalCode = postalCode })); }
public void ComputeTax(string postalCode, double annualIncome, double taxAmount) { //Given IPayRepository mockPayRepository = new MockPayRepository(); var taxCalculatorFactory = new TaxCalculatorFactory(iOptionsMock.Object, taxCalculationTypeOptionMock.Object); var command = new CalculateTaxCommandHandler(taxCalculatorFactory, mockPayRepository); //When command.Handle(new CalculateTaxCommand { AnnualIncome = annualIncome, PostalCode = postalCode }); //Then var row = ((MockPayRepository)mockPayRepository).table[0]; Assert.NotNull(row); Assert.AreEqual(postalCode, row.PostalCode); Assert.AreEqual(annualIncome, row.AnnualIncome); Assert.AreEqual(taxAmount, row.TaxAmount); }