2022-09-30 12:23:31 +03:00

73 lines
2.3 KiB
C#

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());
}
}