コード例 #1
0
        public async Task ShouldCallSleepServiceWithTrackingValue()
        {
            manager = new ClosingOrderManager(mockSleepService.Object, mockRunnerService.Object, mockOrderPlacer.Object, mockClosingStakeCalculator.Object);
            await manager.ManageCloseout(new OpenOrderResult(tradeDetail, orderWrapper));

            mockSleepService.Verify(x => x.Sleep(100), Times.Once);
        }
コード例 #2
0
        public async Task ShouldCallGetFullHedgeStakeWithClosingPrice()
        {
            manager = new ClosingOrderManager(mockSleepService.Object, mockRunnerService.Object, mockOrderPlacer.Object, mockClosingStakeCalculator.Object);
            await manager.ManageCloseout(new OpenOrderResult(tradeDetail, orderWrapper));

            mockClosingStakeCalculator.Verify(x => x.GetFullHedgeStake(It.IsAny <List <Order> >(), 8), Times.Once);
        }
コード例 #3
0
        public async Task ShouldCallPlaceOrderWithPersistenceType()
        {
            manager = new ClosingOrderManager(mockSleepService.Object, mockRunnerService.Object, mockOrderPlacer.Object, mockClosingStakeCalculator.Object);
            await manager.ManageCloseout(new OpenOrderResult(tradeDetail, orderWrapper));

            mockOrderPlacer.Verify(x => x.PlaceOrder(It.Is <OrderWrapper>(y => y.Persistencetype == PersistenceType.LAPSE)), Times.Once);
        }
コード例 #4
0
        public async Task ShouldCallGetRunnerDetailsWithMarketId()
        {
            manager = new ClosingOrderManager(mockSleepService.Object, mockRunnerService.Object, mockOrderPlacer.Object, mockClosingStakeCalculator.Object);
            await manager.ManageCloseout(new OpenOrderResult(tradeDetail, orderWrapper));

            mockRunnerService.Verify(x => x.GetRunnerDetails("A", 1), Times.Exactly(2));
        }
コード例 #5
0
        public async Task ShouldThrowExceptionIfOrderReportIsNotSuccess()
        {
            mockOrderPlacer.Setup(x => x.PlaceOrder(It.IsAny <OrderWrapper>())).Returns(Task.FromResult(new PlaceExecutionReport()
            {
                Status = ExecutionReportStatus.FAILURE
            }));

            manager = new ClosingOrderManager(mockSleepService.Object, mockRunnerService.Object, mockOrderPlacer.Object, mockClosingStakeCalculator.Object);
            await Assert.ThrowsExceptionAsync <System.Exception>(() => manager.ManageCloseout(new OpenOrderResult(tradeDetail, orderWrapper)));
        }