Пример #1
0
        public void Unnet(INettingSource source)
        {
            var weight          = source.AccountingWeight;
            var sourceDirection = GetDirection(source.Type);
            var adjustment      = source.AdjustmentWeight;
            var netWeight       = sourceDirection * weight;

            ResultWeight     -= netWeight;
            NettedWeight     += netWeight;
            ResultImbalance  += _primaryDirection * sourceDirection * weight;
            ResultImbalance  -= _primaryDirection * adjustment;
            NettedAdjustment += adjustment;
        }
        public void TestFixtureSetup()
        {
            _calculator = new NettingWeightCalculator();

            var unit = new Unit {
                Name = "ozt"
            };

            var primaryBuyMock = new Mock <INettingTarget>();

            primaryBuyMock.Setup(transfer => transfer.Type).Returns(TransferType.TransferBuyType1);
            primaryBuyMock.Setup(transfer => transfer.AccountingWeight).Returns(1000m);
            primaryBuyMock.Setup(transfer => transfer.ImbalanceWeight).Returns(-100m);
            primaryBuyMock.Setup(transfer => transfer.AdjustmentWeight).Returns(0m);
            primaryBuyMock.Setup(transfer => transfer.AccountingUnit).Returns(unit);
            _primaryBuy = primaryBuyMock.Object;

            var primarySellMock = new Mock <INettingTarget>();

            primarySellMock.Setup(transfer => transfer.Type).Returns(TransferType.TransferSellType1);
            primarySellMock.Setup(transfer => transfer.AccountingWeight).Returns(1000m);
            primarySellMock.Setup(transfer => transfer.ImbalanceWeight).Returns(-100m);
            primarySellMock.Setup(transfer => transfer.AdjustmentWeight).Returns(0m);
            primarySellMock.Setup(transfer => transfer.AccountingUnit).Returns(unit);
            _primarySell = primarySellMock.Object;

            var qpBuyMock = new Mock <INettingSource>();

            qpBuyMock.Setup(transfer => transfer.Type).Returns(TransferType.TransferBuyType1);
            qpBuyMock.Setup(transfer => transfer.AccountingWeight).Returns(100m);
            qpBuyMock.Setup(transfer => transfer.AdjustmentWeight).Returns(0m);
            _secondaryBuy = qpBuyMock.Object;

            var qpBuyDirectionChangingMock = new Mock <INettingSource>();

            qpBuyDirectionChangingMock.Setup(transfer => transfer.Type).Returns(TransferType.TransferBuyType1);
            qpBuyDirectionChangingMock.Setup(transfer => transfer.AccountingWeight).Returns(1500m);
            qpBuyDirectionChangingMock.Setup(transfer => transfer.AdjustmentWeight).Returns(0m);
            _secondaryBuyDirectionChanging = qpBuyDirectionChangingMock.Object;

            var qpSellMock = new Mock <INettingSource>();

            qpSellMock.Setup(transfer => transfer.Type).Returns(TransferType.TransferSellType1);
            qpSellMock.Setup(transfer => transfer.AccountingWeight).Returns(100m);
            qpSellMock.Setup(transfer => transfer.AdjustmentWeight).Returns(0m);
            _secondarySell = qpSellMock.Object;

            var qpSellDirectionChangingMock = new Mock <INettingSource>();

            qpSellDirectionChangingMock.Setup(transfer => transfer.Type).Returns(TransferType.TransferSellType1);
            qpSellDirectionChangingMock.Setup(transfer => transfer.AccountingWeight).Returns(1500m);
            qpSellDirectionChangingMock.Setup(transfer => transfer.AdjustmentWeight).Returns(0m);
            _secondarySellDirectionChanging = qpSellDirectionChangingMock.Object;

            var qpAdjustmentMock = new Mock <INettingSource>();

            qpAdjustmentMock.Setup(transfer => transfer.Type).Returns(TransferType.TransferAdjustmentType);
            qpAdjustmentMock.Setup(transfer => transfer.AccountingWeight).Returns(0m);
            qpAdjustmentMock.Setup(transfer => transfer.AdjustmentWeight).Returns(100m);
            _adjustment = qpAdjustmentMock.Object;
        }