public async void VatRateInvalidValidation(decimal vatRate) { // Arrange var serviceProvider = ServiceProvider(); var purchaseProvider = new PurchaseProvider(null, serviceProvider.GetService <IGrossCalculator>() , serviceProvider.GetService <IVatCalculator>(), serviceProvider.GetService <INetCalculator>()); // Act var purchase = await purchaseProvider.GetPurchaseVatAsync( new Purchase { GrossAmount = 120, NetAmount = null, VatAmount = null, VatRate = vatRate }); // Assert Assert.False(purchase.IsSuccess); Assert.Null(purchase.Purchase); Assert.NotNull(purchase.ErrorMessage); }
public async void CalculateAmountFromGross(decimal vatRate, decimal grossAmount, decimal netAmount, decimal vatAmount) { // Arrange var serviceProvider = ServiceProvider(); var purchaseProvider = new PurchaseProvider(null, serviceProvider.GetService <IGrossCalculator>() , serviceProvider.GetService <IVatCalculator>(), serviceProvider.GetService <INetCalculator>()); // Act var purchase = await purchaseProvider.GetPurchaseVatAsync( new Purchase { GrossAmount = grossAmount, NetAmount = null, VatAmount = null, VatRate = vatRate }); // Assert Assert.True(purchase.IsSuccess); Assert.NotNull(purchase.Purchase); Assert.Null(purchase.ErrorMessage); Assert.Equal(purchase.Purchase.NetAmount, netAmount); Assert.Equal(purchase.Purchase.VatAmount, vatAmount); }
public async void CalculateAmountFromVat(decimal vatRate, decimal grossAmount, decimal netAmount, decimal vatAmount) { /* * Amount are correct according to the https://www.calkoo.com/en/vat-calculator, however there could be a rounding problem * Further clarification should needed to see this data is correct or not */ // Arrange var serviceProvider = ServiceProvider(); var purchaseProvider = new PurchaseProvider(null, serviceProvider.GetService <IGrossCalculator>() , serviceProvider.GetService <IVatCalculator>(), serviceProvider.GetService <INetCalculator>()); // Act var purchase = await purchaseProvider.GetPurchaseVatAsync( new Purchase { GrossAmount = null, NetAmount = null, VatAmount = vatAmount, VatRate = vatRate }); // Assert Assert.True(purchase.IsSuccess); Assert.NotNull(purchase.Purchase); Assert.Null(purchase.ErrorMessage); Assert.Equal(purchase.Purchase.GrossAmount, grossAmount); Assert.Equal(purchase.Purchase.NetAmount, netAmount); }