public void CloseAll__MovesToClosed_AddsCash_AddsValueOnPosition() { Position pos = CreatePosition(PositionDir.Long, Price1, Vol1); Position pos2 = CreatePosition(PositionDir.Long, Price2, Vol2); _testObj.PositionsActive.Add(pos); _testObj.PositionsActive.Add(pos2); _testObj.CloseAll(CurrentTS, Close1, _slippage, _commission); _testObj.Cash.ShouldBe(CashValue + Close1 * Vol1 + Close1 * Vol2 - Commission * 2); _testObj.PositionsActive.Count.ShouldBe(0); _testObj.PositionsClosed.Count.ShouldBe(2); _testObj.ClosedPositionsEquity.Count.ShouldBe(2); CheckClosedPosition(0, PositionDir.Long, Price1, Close1, Vol1, Commission, CurrentTS, 0); CheckClosedPosition(1, PositionDir.Long, Price2, Close1, Vol2, Commission, CurrentTS, _testObj.ClosedPositionsEquity[0].Value); }