Files
monorepo/LCU.API.Collections.RepoApi-old/LCU.API.Collections.RepoApiTests/RedemptionExpiredDateCalculatorTest.cs
T
2026-04-20 14:47:24 -05:00

123 lines
3.3 KiB
C#

using System;
using System.Collections.Generic;
using Castle.DynamicProxy.Generators;
using LCU.API.Collections.CollectionsApiLib.Models;
using LCU.API.Collections.RepoApi.Domain;
using LCU.API.Collections.RepoApi.Services;
using LCU.Shared.Collections.RepoApiLib.Models;
using Xunit;
namespace LCU.API.Collections.RepoApiTests
{
public class RedemptionExpiredDateCalculatorTest
{
private readonly RedemptionExpiredDateCalculator _calculator;
public RedemptionExpiredDateCalculatorTest()
{
_calculator = new RedemptionExpiredDateCalculator();
}
[Fact]
public void Calculate_NoRepoLetters_NoDates_ReturnsNull()
{
// act
var result = _calculator.CalculateAsync( new TemenosCase(), new List<RepoLetter>());
// assert
Assert.Null(result);
}
[Fact]
public void Calculate_Null_ReturnsNull()
{
// act
var result = _calculator.CalculateAsync( new TemenosCase(), null);
// assert
Assert.Null(result);
}
[Fact]
public void Calculate_OK_WI()
{
TemenosAccount temenosAccount = new TemenosAccount
{
};
TemenosCase temenosCase = new TemenosCase
{
RedemptionExpiredDateWi = DateTime.Parse("11/5/2018 12:00:00 AM")
};
// act
var result = _calculator.CalculateAsync( temenosCase, new List<RepoLetter>()
{
new RepoLetter()
{
ActionCode = "LTR34"
}
});
//assert
Assert.NotNull(result);
Assert.Equal(result, DateTime.Parse("11/5/2018 12:00:00 AM"));
}
[Fact]
public void Calculate_OK_IL()
{
TemenosAccount temenosAccount = new TemenosAccount
{
};
TemenosCase temenosCase = new TemenosCase
{
RedemptionExpiredDateIl = DateTime.Parse("11/5/2018 12:00:00 AM")
};
// act
var result = _calculator.CalculateAsync( temenosCase, new List<RepoLetter>()
{
new RepoLetter()
{
ActionCode = "LTR34"
}
});
//assert
Assert.NotNull(result);
Assert.Equal(result, DateTime.Parse("11/5/2018 12:00:00 AM"));
}
[Fact]
public void Calculate_OK_BOTH_USE_WI()
{
TemenosAccount temenosAccount = new TemenosAccount
{
};
TemenosCase temenosCase = new TemenosCase
{
RedemptionExpiredDateWi = DateTime.Parse("11/6/2018 12:00:00 AM"),
RedemptionExpiredDateIl = DateTime.Parse("11/5/2018 12:00:00 AM")
};
// act
var result = _calculator.CalculateAsync( temenosCase, new List<RepoLetter>()
{
new RepoLetter()
{
ActionCode = "LTR34"
}
});
//assert
Assert.NotNull(result);
Assert.Equal(result, DateTime.Parse("11/6/2018 12:00:00 AM"));
}
}
}