Add project files.
This commit is contained in:
36
TestingLib/Assert.cs
Normal file
36
TestingLib/Assert.cs
Normal 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);
|
||||
}
|
||||
}
|
||||
}
|
||||
85
TestingLib/TestThePaymentDate.cs
Normal file
85
TestingLib/TestThePaymentDate.cs
Normal 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; }
|
||||
|
||||
}
|
||||
}
|
||||
11
TestingLib/TestingLib.csproj
Normal file
11
TestingLib/TestingLib.csproj
Normal file
@ -0,0 +1,11 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netstandard2.0</TargetFramework>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\BrokerageLib\BrokerageLib.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
Reference in New Issue
Block a user