Add project files.

This commit is contained in:
2019-11-18 16:59:38 +01:00
parent 5ec0c4fa3e
commit eef116b5f6
22 changed files with 841 additions and 0 deletions

36
TestingLib/Assert.cs Normal file
View File

@ -0,0 +1,36 @@
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Runtime.CompilerServices;
using System.Text;
namespace TestingLib
{
public class Assert
{
public static ObservableCollection<UnitTestInfo> TestResults { get; set; }
static Assert()
{
TestResults = new ObservableCollection<UnitTestInfo>();
}
public static void AreEqual(object first,
object second,
string message,
[CallerMemberName] string methodName = null)
{
var testInfo = new UnitTestInfo();
if (first.Equals(second))
{
testInfo.DidTestPass = true;
}
else
{
testInfo.DidTestPass = false;
testInfo.TestFailureMessage = message;
}
testInfo.MethodName = methodName;
TestResults.Add(testInfo);
}
}
}

View File

@ -0,0 +1,85 @@
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; }
}
}

View File

@ -0,0 +1,11 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\BrokerageLib\BrokerageLib.csproj" />
</ItemGroup>
</Project>