public void ValidateInvalidPowerTrades() { var powerTrades = new PowerTrades { Day = SummerDay, Trades = new[] { PowerTrade.Create(SummerDay.DateTime, 24), PowerTrade.Create(SummerDay.DateTime, 23) } }; Assert.Throws <ArgumentException>(() => PositionReport.ValidateTrades(powerTrades)); }
public void BuildPositionOnePowerTrade() { var powerTrade = PowerTrade.Create(SummerDay.DateTime, 24); var trades = new PowerTrades { Day = SummerDay, Trades = new[] { powerTrade } }; var actual = PositionReport.BuildPosition(trades); var expectedPeriods = powerTrade.Periods; Assert.That(actual.Day, Is.EqualTo(trades.Day)); CollectionAssert.AreEqual(expectedPeriods, actual.Periods, new PowerPeriodComparer(0.0001)); }
public void ValidateValidPowerTrades() { var powerTrades = new PowerTrades { Day = SummerDay, Trades = Enumerable.Range(1, 2).Select(i => PowerTrade.Create(SummerDay.DateTime, 24)).ToArray() }; var actual = PositionReport.ValidateTrades(powerTrades); Assert.That(actual.Day, Is.EqualTo(powerTrades.Day)); for (var i = 0; i < powerTrades.Trades.Count(); i++) { CollectionAssert.AreEqual(actual.Trades[i].Periods, powerTrades.Trades[i].Periods, new PowerPeriodComparer(0.0001)); } }
public void BuildPositionMultiplePowerTrades() { var powerTrade = CreatePowerTrade(SummerDay, 24); var trades = new PowerTrades { Day = SummerDay, Trades = new[] { powerTrade, powerTrade, powerTrade } }; var actual = PositionReport.BuildPosition(trades); var expectedPeriods = powerTrade.Periods.Select(p => new PowerPeriod { Period = p.Period, Volume = p.Volume * 3.0 }).ToArray(); Assert.That(actual.Day, Is.EqualTo(trades.Day)); CollectionAssert.AreEqual(expectedPeriods, actual.Periods, new PowerPeriodComparer(0.0001)); }