86 lines
2.5 KiB
C#
86 lines
2.5 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Text;
|
|
using SUT = BrokerageLib;
|
|
|
|
namespace TestingLib
|
|
{
|
|
public class TestThePaymentDate
|
|
{
|
|
public UnitTestInfo DateIs30DaysInFuture()
|
|
{
|
|
var testInfo = new UnitTestInfo();
|
|
|
|
var pd = new SUT.PaymentSystem.PaymentDate();
|
|
var sampleDate = DateTime.Parse("2019-12-16");
|
|
|
|
var futureDate = pd.CalculateFuturePaymentDate(sampleDate);
|
|
|
|
if (futureDate.Equals(sampleDate.AddDays(30)))
|
|
{
|
|
testInfo.DidTestPass = true;
|
|
}
|
|
else
|
|
{
|
|
testInfo.DidTestPass = false;
|
|
testInfo.TestFailureMessage = $"Expected date is not 30 days in the future.";
|
|
}
|
|
testInfo.MethodName = "DateIs30DaysInFuture";
|
|
return testInfo;
|
|
}
|
|
public UnitTestInfo ReturnsMondayIfProposedIsSunday()
|
|
{
|
|
var testInfo = new UnitTestInfo();
|
|
|
|
var pd = new SUT.PaymentSystem.PaymentDate();
|
|
var sampleDate = DateTime.Parse("2019-12-17");
|
|
|
|
var futureDate = pd.CalculateFuturePaymentDate(sampleDate);
|
|
|
|
if (futureDate.DayOfWeek == DayOfWeek.Monday)
|
|
{
|
|
testInfo.DidTestPass = true;
|
|
}
|
|
else
|
|
{
|
|
testInfo.DidTestPass = false;
|
|
testInfo.TestFailureMessage = $"Expected date is not Monday.";
|
|
}
|
|
|
|
testInfo.MethodName = "ReturnsMondayIfProposedIsSunday";
|
|
return testInfo;
|
|
}
|
|
public UnitTestInfo ReturnsMondayIfProposedIsSaturday()
|
|
{
|
|
var testInfo = new UnitTestInfo();
|
|
|
|
var pd = new SUT.PaymentSystem.PaymentDate();
|
|
var sampleDate = DateTime.Parse("2019-12-15");
|
|
|
|
var futureDate = pd.CalculateFuturePaymentDate(sampleDate);
|
|
|
|
if (futureDate.DayOfWeek == DayOfWeek.Monday)
|
|
{
|
|
testInfo.DidTestPass = true;
|
|
}
|
|
else
|
|
{
|
|
testInfo.DidTestPass = false;
|
|
testInfo.TestFailureMessage = $"Expected date is not Monday.";
|
|
}
|
|
|
|
testInfo.MethodName = "ReturnsMondayIfProposedIsSaturday";
|
|
return testInfo;
|
|
}
|
|
|
|
}
|
|
|
|
public struct UnitTestInfo
|
|
{
|
|
public bool DidTestPass { get; set; }
|
|
public string TestFailureMessage { get; set; }
|
|
public string MethodName { get; set; }
|
|
|
|
}
|
|
}
|