def test_max_bars(interval): bars = OHLC('exchange', 'symbol', interval, max_bars=3) start = datetime.utcnow() with freeze_time(start) as time: for _ in range(3): bars.on_tick(10) time.tick(delta=interval) assert 3 == len(bars.bars(n=100)) bars.on_tick(12) assert 3 == len(bars.bars(n=100)) bars.on_tick(12) assert 3 == len(bars.bars(n=100))
def test_first_bar(interval): bars = OHLC('exchange', 'symbol', interval) start = datetime.utcnow() with freeze_time(start): bars.on_tick(10) bars = bars.bars() assert 1 == len(bars) assert_bar(bars[0], 10, 10, 10, 10, start, interval)
def test_second_bar(interval): bars = OHLC('exchange', 'symbol', interval) start = datetime.utcnow() with freeze_time(start) as time: initial = datetime.utcnow() # Hack bars.on_tick(10) time.tick(delta=interval) bars.on_tick(11) bars = bars.bars() assert 2 == len(bars) assert_bar( bars[1], 10, 11, 10, 11, initial + interval, interval)
def test_no_bars(interval): bars = OHLC('exchange', 'symbol', interval) assert [] == bars.bars()