public async void Should_CalculateAndComparePurchaseData_With_PreCalculatedPurchaseData(PurchaseDataModel purchaseData) { // Arrange IPurchaseService purchaseService = new PurchaseService(); // Act var resultGrossAmount = await purchaseService.CalculatePurchaseInfo(new PurchaseDataModel { VATRate = purchaseData.VATRate, GrossAmount = purchaseData.GrossAmount }); var resultVATAmount = await purchaseService.CalculatePurchaseInfo(new PurchaseDataModel { VATRate = purchaseData.VATRate, VATAmount = purchaseData.VATAmount }); var resultNetAmount = await purchaseService.CalculatePurchaseInfo(new PurchaseDataModel { VATRate = purchaseData.VATRate, NetAmount = purchaseData.NetAmount }); // Assert Assert.Equal(purchaseData.VATRate, resultGrossAmount.VATRate); Assert.Equal(purchaseData.GrossAmount, resultGrossAmount.GrossAmount); Assert.Equal(purchaseData.VATAmount, resultGrossAmount.VATAmount); Assert.Equal(purchaseData.NetAmount, resultGrossAmount.NetAmount); Assert.Equal(purchaseData.VATRate, resultVATAmount.VATRate); Assert.Equal(purchaseData.GrossAmount, resultVATAmount.GrossAmount); Assert.Equal(purchaseData.VATAmount, resultVATAmount.VATAmount); Assert.Equal(purchaseData.NetAmount, resultVATAmount.NetAmount); Assert.Equal(purchaseData.VATRate, resultNetAmount.VATRate); Assert.Equal(purchaseData.GrossAmount, resultNetAmount.GrossAmount); Assert.Equal(purchaseData.VATAmount, resultNetAmount.VATAmount); Assert.Equal(purchaseData.NetAmount, resultNetAmount.NetAmount); }
public async void Should_ValidateInputVatRate_With_ExpectedResult(decimal vatRate, bool expectedResult) { // Arrange IPurchaseService purchaseService = new PurchaseService(); //Act - assert if (expectedResult == false) await Assert.ThrowsAsync<ValidationException>(async () => await purchaseService.CalculatePurchaseInfo(new PurchaseDataModel { VATRate = vatRate, GrossAmount = 100 })); else { var result = await purchaseService.CalculatePurchaseInfo(new PurchaseDataModel { VATRate = vatRate, GrossAmount = 100 }); Assert.IsType<PurchaseDataModel>(result); Assert.Equal(vatRate, result.VATRate); } }
public async void Should_ValidateInputPurchaseDataModel_With_ExpectedResult(PurchaseDataModel purchaseData, bool expectedResult) { //Arrange IPurchaseService purchaseService = new PurchaseService(); //Act & Assert if (expectedResult == false) { await Assert.ThrowsAsync<ValidationException>(async () => await purchaseService.CalculatePurchaseInfo(new PurchaseDataModel { VATRate = purchaseData.VATRate, GrossAmount = purchaseData.GrossAmount, NetAmount = purchaseData.NetAmount, VATAmount = purchaseData.VATAmount })); } else { var result = await purchaseService.CalculatePurchaseInfo(new PurchaseDataModel { VATRate = purchaseData.VATRate, GrossAmount = purchaseData.GrossAmount, NetAmount = purchaseData.NetAmount, VATAmount = purchaseData.VATAmount }); Assert.IsType<PurchaseDataModel>(result); Assert.Equal(purchaseData.VATRate, result.VATRate); } }