zjowowen's picture
init space
079c32c
import pytest
from ding.utils.autolog import TimeRangedData, NaturalTime, TickTime
@pytest.mark.unittest
class TestAutologRangedData:
def test_expire(self):
data = TimeRangedData(NaturalTime(), expire=5)
assert data.expire == 5
with pytest.raises(ValueError):
TimeRangedData(NaturalTime(), expire=-1)
with pytest.raises(TypeError):
TimeRangedData(NaturalTime(), expire='5')
def test_bool(self):
data = TimeRangedData(TickTime(), expire=5)
assert not data
data.append(233)
assert data
data.time.step()
data.extend([2, 3, 5, 7])
assert data
data.time.step(4)
assert data
data.time.step(1)
assert data
data.time.step(1)
assert data
data.time.step(1)
assert data
data.time.step(10)
assert data
def test_current(self):
data = TimeRangedData(TickTime(), expire=5)
with pytest.raises(ValueError):
_ = data.current()
data.append(233)
assert data.current() == 233
data.time.step()
data.extend([2, 3, 5, 7])
assert data.current() == 7
data.time.step(4)
assert data.current() == 7
data.time.step(1)
assert data.current() == 7
data.time.step(1)
assert data.current() == 7
data.time.step(1)
assert data.current() == 7
data.time.step(10)
assert data.current() == 7
def test_history(self):
data = TimeRangedData(TickTime(), expire=5)
assert data.history() == []
data.append(233)
assert data.history() == [(0, 233)]
data.time.step()
data.extend([2, 3, 5, 7])
assert data.history() == [(0, 233), (1, 2), (1, 3), (1, 5), (1, 7)]
data.time.step(4)
assert data.history() == [(0, 233), (1, 2), (1, 3), (1, 5), (1, 7), (5, 7)]
data.time.step(1)
assert data.history() == [(1, 233), (1, 2), (1, 3), (1, 5), (1, 7), (6, 7)]
data.time.step(1)
assert data.history() == [(2, 7), (7, 7)]
data.time.step(1)
assert data.history() == [(3, 7), (8, 7)]
data.time.step(10)
assert data.history() == [(13, 7), (18, 7)]