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);
 }