Coverage for tests / unit / no_torch / test_bool_array.py: 100%

31 statements  

« prev     ^ index     » next       coverage.py v7.13.4, created at 2026-02-21 22:18 -0700

1from pathlib import Path 

2 

3import numpy as np 

4 

5from muutils.json_serialize import SerializableDataclass, serializable_dataclass 

6 

7from zanj import ZANJ 

8 

9TEST_DATA_PATH: Path = Path("tests/junk_data") 

10 

11 

12@serializable_dataclass 

13class MyClass_list(SerializableDataclass): 

14 name: str 

15 arr_1: list 

16 arr_2: list 

17 

18 

19def test_list_bool_array(): 

20 fname: Path = TEST_DATA_PATH / "test_list_bool_array.zanj" 

21 c: MyClass_list = MyClass_list( 

22 name="test", 

23 arr_1=[True, False, True], 

24 arr_2=[True, False, True], 

25 ) 

26 

27 z = ZANJ() 

28 

29 z.save(c, fname) 

30 

31 c2: MyClass_list = z.read(fname) 

32 

33 assert c == c2 

34 

35 

36@serializable_dataclass 

37class MyClass_np(SerializableDataclass): 

38 name: str 

39 arr_1: np.ndarray 

40 arr_2: np.ndarray 

41 

42 

43def test_np_bool_array(): 

44 fname: Path = TEST_DATA_PATH / "test_np_bool_array.zanj" 

45 c: MyClass_np = MyClass_np( 

46 name="test", 

47 arr_1=np.array([True, False, True]), 

48 arr_2=np.array([True, False, True]), 

49 ) 

50 

51 z = ZANJ() 

52 

53 z.save(c, fname) 

54 

55 c2: MyClass_np = z.read(fname) 

56 

57 assert c2.arr_1.dtype == np.bool_ 

58 assert c2.arr_2.dtype == np.bool_ 

59 

60 assert c == c2