public void Calc_WithActivePosition__ReturnsCashAndPositionValue(PositionDir dir) { _testSys.PositionsActive.Add(new Position() { Stock = new StockDefinition(), Direction = dir, Volume = Vol }); _testObj.Calc(_testSys, CurrentTS, _dataLoader).ShouldBe(CashValue + dir.DirectionMultiplier() * PriceL * Vol); }
public void Calc_WithTwoActivePositions__ReturnsCashAndPositionsValue(PositionDir dir) { const int posCount = 2; for (int i = 0; i < posCount; i++) { _testSys.PositionsActive.Add(new Position() { Stock = new StockDefinition(), Direction = dir, Volume = Vol }); } _testObj.Calc(_testSys, CurrentTS, _dataLoader).ShouldBe(CashValue + dir.DirectionMultiplier() * PriceL * Vol * posCount); }
public void DirectionMultiplier(PositionDir dir, float expected) { dir.DirectionMultiplier().ShouldBe(expected); }