Coverage for tests/test_random.py: 100%
52 statements
« prev ^ index » next coverage.py v7.15.1, created at 2026-07-15 09:33 +0000
« prev ^ index » next coverage.py v7.15.1, created at 2026-07-15 09:33 +0000
3from evutils.random import random_events, random_events_generator, event_jitter, event_jitter_n
5from evutils.types import is_monotonically_increasing
7import numpy as np
9N = 1000
11def test_random_events() -> None:
12 ev = random_events(N, 1280, 720, 10, 10000)
14 assert len(ev) == N
15 assert ev["x"].min() >= 0 and ev["x"].max() < 1280
16 assert ev["y"].min() >= 0 and ev["y"].max() < 720
17 assert ev["p"].min() >= 0 and ev["p"].max() <= 1
18 assert ev["t"].min() >= 10 and ev["t"].max() < 10000
21def test_random_events_generator() -> None:
22 for ev in random_events_generator(N, 1280, 720, 10, 10000, chunk_size=100):
23 assert len(ev) == 100
24 assert ev["x"].min() >= 0 and ev["x"].max() < 1280
25 assert ev["y"].min() >= 0 and ev["y"].max() < 720
26 assert ev["p"].min() >= 0 and ev["p"].max() <= 1
27 assert ev["t"].min() >= 10 and ev["t"].max() < 10000
30def test_event_jitter() -> None:
31 ev = random_events(N, 1280, 720, 10, 10000)
32 ev_jitter = event_jitter(ev.copy(), jitter=100, sort=False)
34 assert len(ev) == len(ev_jitter)
35 assert np.array_equal(ev["x"], ev_jitter["x"])
36 assert np.array_equal(ev["y"], ev_jitter["y"])
37 assert np.array_equal(ev["p"], ev_jitter["p"])
39 assert not is_monotonically_increasing(ev_jitter)
41 ev_s_jitter = event_jitter(ev.copy(), jitter=100, sort=True)
43 assert is_monotonically_increasing(ev_s_jitter)
45def test_event_jitter_n() -> None:
46 ev = random_events(N, 1280, 720, 10, 10000)
47 ev_jitter = event_jitter_n(ev.copy(), mean=0.0, std=10.0, sort=False)
49 assert len(ev) == len(ev_jitter)
50 assert np.array_equal(ev["x"], ev_jitter["x"])
51 assert np.array_equal(ev["y"], ev_jitter["y"])
52 assert np.array_equal(ev["p"], ev_jitter["p"])
54 assert not is_monotonically_increasing(ev_jitter)
56 ev_s_jitter = event_jitter_n(ev.copy(), mean=0.0, std=10.0, sort=True)
57 assert is_monotonically_increasing(ev_s_jitter)
59def test_random_events_empty() -> None:
60 ev = random_events(0)
61 assert len(ev) == 0
63def test_random_events_generator_empty() -> None:
64 gen = list(random_events_generator(0))
65 assert len(gen) == 0
67def test_event_jitter_empty() -> None:
68 ev = random_events(0)
69 ev_jitter = event_jitter(ev.copy(), jitter=10)
70 assert len(ev_jitter) == 0
72def test_event_jitter_n_empty() -> None:
73 ev = random_events(0)
74 ev_jitter = event_jitter_n(ev.copy(), mean=0, std=1)
75 assert len(ev_jitter) == 0