Example #1
0
        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
            }));
        }
Example #2
0
        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);
        }