73 lines
2.3 KiB
C#
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());
|
|
}
|
|
} |