Esempio n. 1
0
        public void OrderPredicateNullNothing()
        {
            var state = new TestState();

            state.Activate(AlgorithmConfiguration, _container);
            var next = state.OnOrderUpdate(null);

            Assert.IsType <NothingState <TemplateAlgorithmConfiguration> >(next);
        }
Esempio n. 2
0
        public void SetTimerSetsEndTime()
        {
            var state = new TestState();
            var now   = _container.TimerProvider.CurrentTime;
            var span  = TimeSpan.FromDays(8);

            state.Activate(AlgorithmConfiguration, _container);
            _setTimer(state, span);
            Assert.Equal((now + span).DateTime, state.EndTime.DateTime, TimeSpan.FromMilliseconds(1000));
        }
Esempio n. 3
0
        public void OnTimerDefaultNothing()
        {
            var state = new TestState();

            Program.CommandLineArgs.Trading = true;
            state.Activate(AlgorithmConfiguration, _container);
            var next = state.OnTimerElapsed();

            Assert.IsType <NothingState <TemplateAlgorithmConfiguration> >(next);
        }
Esempio n. 4
0
        public void OrderPredicateDefaultBacktestError()
        {
            var state = new TestState();

            state.Activate(AlgorithmConfiguration, _container);
            Program.CommandLineArgs.Trading = false;
            var order = new OrderUpdate(
                orderId: 0,
                tradeId: 0,
                orderStatus: OrderUpdate.OrderStatus.Filled,
                orderType: OrderUpdate.OrderTypes.Limit,
                createdTimestamp: 0,
                setPrice: 0,
                side: OrderSide.Buy,
                pair: TradingPair.Parse("EOSETH"),
                setQuantity: 0);

            Assert.Throws <AlgorithmLogicException>(() => state.OnOrderUpdate(order));
        }
Esempio n. 5
0
        public void OrderPredicateMarketNoError()
        {
            var state = new TestState();

            state.Activate(AlgorithmConfiguration, _container);
            Program.CommandLineArgs.Trading = false;
            var order = new OrderUpdate(
                orderId: 0,
                tradeId: 0,
                orderStatus: OrderUpdate.OrderStatus.Filled,
                orderType: OrderUpdate.OrderTypes.Market,
                createdTimestamp: 0,
                setPrice: 0,
                side: OrderSide.Buy,
                pair: TradingPair.Parse("EOSETH"),
                setQuantity: 0);
            var next = state.OnOrderUpdate(order);

            Assert.IsType <NothingState <TemplateAlgorithmConfiguration> >(next);
        }
Esempio n. 6
0
        public void RunHappyFlow()
        {
            var state = new TestState();

            state.Activate(AlgorithmConfiguration, _container);
        }