Skip to content

Commit

Permalink
Fixing the unit tests
Browse files Browse the repository at this point in the history
  • Loading branch information
mccaffers committed Feb 4, 2024
1 parent aa2dd0d commit 03bcc09
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 18 deletions.
39 changes: 23 additions & 16 deletions tests/backtesting/SystemTests/SystemTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,10 @@ public class SystemTests
{

[Fact]
public void TestTradeException(){
public void TestTradeException()
{

var environmentMock = TestEnvironment.SetEnvironmentVariables();
var environmentMock = TestEnvironment.SetEnvironmentVariables();
var environmentObj = environmentMock.Object;

var provider = new ServiceCollection()
Expand All @@ -35,28 +36,31 @@ public class SystemTests
var reportingMock = new Mock<IReporting>();
var esMock = new Mock<IElasticClient>().Object;

var systemMock = new Mock<SystemSetup>(provider, reportingMock.Object, esMock, environmentObj);
IPositions position = new Mock<IPositions>().Object;
var systemMock = new Mock<SystemSetup>(provider, reportingMock.Object, esMock, environmentObj, position);

systemMock.Setup(x=>x.StartEngine())
systemMock.Setup(x => x.StartEngine())
.Throws(new TradingException(message: "error", "", environmentObj));

var output = "";
reportingMock.Setup(x=>x.SendStack(It.IsAny<TradingException>())).Returns(Task.FromResult(true));
reportingMock.Setup(x=>x.EndOfRunReport(It.IsAny<string>())).Callback((string message) => {
output=message;
reportingMock.Setup(x => x.SendStack(It.IsAny<TradingException>())).Returns(Task.FromResult(true));
reportingMock.Setup(x => x.EndOfRunReport(It.IsAny<string>())).Callback((string message) =>
{
output = message;
});

var x = systemMock.Object; // Call System Constructor

Assert.Equal("error", output);

}

[Fact]
public void TestNormalException(){
public void TestNormalException()
{

// Arrange the environment mocks
var environmentMock = TestEnvironment.SetEnvironmentVariables();
var environmentMock = TestEnvironment.SetEnvironmentVariables();
var environmentObj = environmentMock.Object;

// Setup the Service Provider just for the services we need
Expand All @@ -66,21 +70,24 @@ public class SystemTests
.AddSingleton<ITradingObjects, TradingObjects>()
.AddSingleton<ISystemObjects, SystemObjects>()
.AddSingleton<IElasticClient>(new Mock<IElasticClient>().Object)

.BuildServiceProvider();


// Mock an empty reporting object, we don't want to send any reports
var reportingMock = new Mock<IReporting>();
var esMock = new Mock<IElasticClient>().Object;

var systemMock = new Mock<SystemSetup>(provider, reportingMock.Object, esMock, environmentObj);
systemMock.Setup(x=>x.StartEngine())
IPositions position = new Mock<IPositions>().Object;
var systemMock = new Mock<SystemSetup>(provider, reportingMock.Object, esMock, environmentObj, position);
systemMock.Setup(x => x.StartEngine())
.Throws(new ArgumentException(message: "error"));

var output = "";
reportingMock.Setup(x=>x.SendStack(It.IsAny<TradingException>())).Returns(Task.FromResult(true));
reportingMock.Setup(x=>x.EndOfRunReport(It.IsAny<string>())).Callback((string message) => {
output=message;
reportingMock.Setup(x => x.SendStack(It.IsAny<TradingException>())).Returns(Task.FromResult(true));
reportingMock.Setup(x => x.EndOfRunReport(It.IsAny<string>())).Callback((string message) =>
{
output = message;
});

var x = systemMock.Object; // Call System Constructor
Expand Down
1 change: 1 addition & 0 deletions tests/backtesting/TestEnvironmentSetup.cs
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ class TestEnvironment {
environmentMock.SetupGet<int[]>(x=>x.years).Returns(new int[]{2006});
environmentMock.SetupGet<bool>(x=>x.reportingEnabled).Returns(false);
environmentMock.SetupGet<string>(x=>x.runIteration).Returns("0");
environmentMock.SetupGet<bool>(x=>x.fasterProcessingBySkippingSomeTickData).Returns(false);


return environmentMock;
Expand Down
4 changes: 2 additions & 2 deletions tests/backtesting/UtilitesTests/ExtensionTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -41,9 +41,9 @@ public class ExtensionTests
var envMock = TestEnvironment.SetEnvironmentVariables();

// Strategy that does exist, case sensitive
envMock.SetupGet<string>(x=>x.strategy).Returns("RandomWithCloseAtHhll");
envMock.SetupGet<string>(x=>x.strategy).Returns("RandomStrategy");
var collection = new ServiceCollection().RegisterStrategies(envMock.Object);
var response = collection.All(x=> x.ImplementationType!=null && x.ImplementationType.Name == "RandomWithCloseAtHhll");
var response = collection.All(x=> x.ImplementationType!=null && x.ImplementationType.Name == "RandomStrategy");
Assert.True(response);

}
Expand Down

0 comments on commit 03bcc09

Please sign in to comment.