specify comparing tolerance
This commit is contained in:
parent
dd2b015cb1
commit
2ec8d9a240
@ -1,4 +1,5 @@
|
||||
using System.Collections.Generic;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using EvoCalculator.Core.Models.Calculation.Models.Request;
|
||||
|
||||
namespace EvoCalculator.Core.Calculation.v1
|
||||
@ -33,7 +34,7 @@ namespace EvoCalculator.Core.Calculation.v1
|
||||
"Некорректно указана Дата второго платежа, она не может быть раньше Даты заключения ДЛ");
|
||||
}
|
||||
|
||||
if ((preparedValues.FirstPaymentSum / preparedValues.AcceptSum) > 0.5m)
|
||||
if (preparedValues.FirstPaymentSum / preparedValues.AcceptSum >= 0.500001m)
|
||||
{
|
||||
errors.Add("Первый платеж по графику более 50% от стоимости ПЛ с учетом скидки. Необходимо уменьшить первый платеж");
|
||||
}
|
||||
|
||||
162
EvoCalculator.Core.Tests/Calculation/ValidationTests.cs
Normal file
162
EvoCalculator.Core.Tests/Calculation/ValidationTests.cs
Normal file
@ -0,0 +1,162 @@
|
||||
using System;
|
||||
using EvoCalculator.Core.Calculation.v1;
|
||||
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
|
||||
using EvoCalculator.Core.Models.Calculation.Models.Request;
|
||||
using Xunit;
|
||||
|
||||
namespace EvoCalculator.Core.Tests.Calculation
|
||||
{
|
||||
public class ValidationTests
|
||||
{
|
||||
[Fact]
|
||||
public void ValidationTest1()
|
||||
{
|
||||
var requestCalculation = new RequestCalculation()
|
||||
{
|
||||
preparedValues = new PreparedValues()
|
||||
{
|
||||
AcceptSum = 791666.6666666667m,
|
||||
FirstPaymentSum = 395833.3333333334m,
|
||||
|
||||
Nmper = 5,
|
||||
IrrExpected = 5,
|
||||
Discount = 5, ComissionRub = 5,
|
||||
PaymentDateNew = DateTime.Today.AddDays(1),
|
||||
DogDate = DateTime.Now,
|
||||
}
|
||||
};
|
||||
var errors = new Validation().ValidatePreparedData(requestCalculation);
|
||||
Assert.Empty(errors);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ValidationTest2()
|
||||
{
|
||||
var requestCalculation = new RequestCalculation()
|
||||
{
|
||||
preparedValues = new PreparedValues()
|
||||
{
|
||||
AcceptSum = 691666.6666666667m,
|
||||
FirstPaymentSum = 345833.3333333334m,
|
||||
|
||||
Nmper = 5,
|
||||
IrrExpected = 5,
|
||||
Discount = 5, ComissionRub = 5,
|
||||
PaymentDateNew = DateTime.Today.AddDays(1),
|
||||
DogDate = DateTime.Now,
|
||||
}
|
||||
};
|
||||
var errors = new Validation().ValidatePreparedData(requestCalculation);
|
||||
Assert.Empty(errors);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ValidationTest3()
|
||||
{
|
||||
var requestCalculation = new RequestCalculation()
|
||||
{
|
||||
preparedValues = new PreparedValues()
|
||||
{
|
||||
AcceptSum = 6862036.016666667m,
|
||||
FirstPaymentSum = 3431018.0083333333m,
|
||||
|
||||
Nmper = 5,
|
||||
IrrExpected = 5,
|
||||
Discount = 5, ComissionRub = 5,
|
||||
PaymentDateNew = DateTime.Today.AddDays(1),
|
||||
DogDate = DateTime.Now,
|
||||
}
|
||||
};
|
||||
var errors = new Validation().ValidatePreparedData(requestCalculation);
|
||||
Assert.Empty(errors);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ValidationTest4()
|
||||
{
|
||||
var requestCalculation = new RequestCalculation()
|
||||
{
|
||||
preparedValues = new PreparedValues()
|
||||
{
|
||||
AcceptSum = 6862036.016666667m,
|
||||
FirstPaymentSum = 3431024.87036935m,
|
||||
|
||||
Nmper = 5,
|
||||
IrrExpected = 5,
|
||||
Discount = 5, ComissionRub = 5,
|
||||
PaymentDateNew = DateTime.Today.AddDays(1),
|
||||
DogDate = DateTime.Now,
|
||||
}
|
||||
};
|
||||
|
||||
var errors = new Validation().ValidatePreparedData(requestCalculation);
|
||||
Assert.Empty(errors);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ValidationTest5()
|
||||
{
|
||||
var requestCalculation = new RequestCalculation()
|
||||
{
|
||||
preparedValues = new PreparedValues()
|
||||
{
|
||||
AcceptSum = 6862036.016666667m,
|
||||
FirstPaymentSum = 3499645.23053601m,
|
||||
|
||||
Nmper = 5,
|
||||
IrrExpected = 5,
|
||||
Discount = 5, ComissionRub = 5,
|
||||
PaymentDateNew = DateTime.Today.AddDays(1),
|
||||
DogDate = DateTime.Now,
|
||||
}
|
||||
};
|
||||
|
||||
var errors = new Validation().ValidatePreparedData(requestCalculation);
|
||||
Assert.NotEmpty(errors);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ValidationTest6()
|
||||
{
|
||||
var requestCalculation = new RequestCalculation()
|
||||
{
|
||||
preparedValues = new PreparedValues()
|
||||
{
|
||||
AcceptSum = 6862036.016666667m,
|
||||
FirstPaymentSum = 3498952.23351869m,
|
||||
|
||||
Nmper = 5,
|
||||
IrrExpected = 5,
|
||||
Discount = 5, ComissionRub = 5,
|
||||
PaymentDateNew = DateTime.Today.AddDays(1),
|
||||
DogDate = DateTime.Now,
|
||||
}
|
||||
};
|
||||
|
||||
var errors = new Validation().ValidatePreparedData(requestCalculation);
|
||||
Assert.NotEmpty(errors);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ValidationTest7()
|
||||
{
|
||||
var requestCalculation = new RequestCalculation()
|
||||
{
|
||||
preparedValues = new PreparedValues()
|
||||
{
|
||||
AcceptSum = 6862036.016666667m,
|
||||
FirstPaymentSum = 1372407.20333333m,
|
||||
|
||||
Nmper = 5,
|
||||
IrrExpected = 5,
|
||||
Discount = 5, ComissionRub = 5,
|
||||
PaymentDateNew = DateTime.Today.AddDays(1),
|
||||
DogDate = DateTime.Now,
|
||||
}
|
||||
};
|
||||
|
||||
var errors = new Validation().ValidatePreparedData(requestCalculation);
|
||||
Assert.Empty(errors);
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user