using EvoCalculator.Core.Calculation; using EvoCalculator.Core.Models.BaseCalculation.Models.Request; using EvoCalculator.Core.Models.BaseCalculation.Models.Response; using Xunit; namespace EvoCalculator.Core.Tests.Calculation; public class BaseCalculationTests { [Fact] public void Test1() { var requestCalculation = new RequestBaseCalculation() { car_price = 4000000, initial_payment = 30.0, lease_period = 36, redemption_payment = 1.0, }; var result = new BaseCalculation().Calculate(requestCalculation); var expected = new ResponseBaseCalculation() { tax_savings = 792709.351m, vat_reimbursement = 792709.351m, monthly_payment = 103419.297m, schedule = new[] { 1200000.0m, 103419.297289495m, 103419.297289495m, 103419.297289495m, 103419.297289495m, 103419.297289495m, 103419.297289495m, 103419.297289495m, 103419.297289495m, 103419.297289495m, 103419.297289495m, 103419.297289495m, 103419.297289495m, 103419.297289495m, 103419.297289495m, 103419.297289495m, 103419.297289495m, 103419.297289495m, 103419.297289495m, 103419.297289495m, 103419.297289495m, 103419.297289495m, 103419.297289495m, 103419.297289495m, 103419.297289495m, 103419.297289495m, 103419.297289495m, 103419.297289495m, 103419.297289495m, 103419.297289495m, 103419.297289495m, 103419.297289495m, 103419.297289495m, 103419.297289495m, 103419.297289495m, 40000.00m } }; Assert.Equal(expected.tax_savings, result.tax_savings, new DecimalArrayComparer()); Assert.Equal(expected.monthly_payment, result.monthly_payment, new DecimalArrayComparer()); Assert.Equal(expected.schedule[0], result.schedule[0], new DecimalArrayComparer()); } }