123 lines
3.3 KiB
C#
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"));
|
|
}
|
|
}
|
|
} |