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

1 

2 

3from evutils.random import random_events, random_events_generator, event_jitter, event_jitter_n 

4 

5from evutils.types import is_monotonically_increasing 

6 

7import numpy as np 

8 

9N = 1000 

10 

11def test_random_events() -> None: 

12 ev = random_events(N, 1280, 720, 10, 10000) 

13 

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 

19 

20 

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 

28 

29 

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) 

33 

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"]) 

38 

39 assert not is_monotonically_increasing(ev_jitter) 

40 

41 ev_s_jitter = event_jitter(ev.copy(), jitter=100, sort=True) 

42 

43 assert is_monotonically_increasing(ev_s_jitter) 

44 

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) 

48 

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"]) 

53 

54 assert not is_monotonically_increasing(ev_jitter) 

55 

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) 

58 

59def test_random_events_empty() -> None: 

60 ev = random_events(0) 

61 assert len(ev) == 0 

62 

63def test_random_events_generator_empty() -> None: 

64 gen = list(random_events_generator(0)) 

65 assert len(gen) == 0 

66 

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 

71 

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