Пример #1
0
        public void TestNetPosition_TwoDistinctPositions()
        {
            List <Position> positions = new List <Position>
            {
                new Position {
                    Trader = "AAA", Broker = "BCY", Symbol = "AAPL", Quantity = 100
                },
                new Position {
                    Trader = "AAA", Broker = "BCY", Symbol = "IBM", Quantity = -200
                },
            };

            PositionsCalculator calc = new PositionsCalculator();
            var netted = calc.GetNettedPositionsByTrader(positions);

            foreach (var pos in netted)
            {
                if (pos.Symbol == "AAPL")
                {
                    Assert.AreEqual(100, pos.Quantity);
                }
                if (pos.Symbol == "IBM")
                {
                    Assert.AreEqual(-200, pos.Quantity);
                }
            }
        }
Пример #2
0
        public void TestBoxedPositions_ValidBoxedPosition()
        {
            List <Position> positions = new List <Position>
            {
                new Position {
                    Trader = "AAA", Broker = "BCY", Symbol = "AAPL", Quantity = 100
                },
                new Position {
                    Trader = "AAA", Broker = "DB", Symbol = "AAPL", Quantity = -50
                },
            };

            PositionsCalculator calc = new PositionsCalculator();
            var boxed = calc.GetBoxedPositions(positions);

            Assert.AreEqual(1, boxed.Count);
        }