9 frame_size = HSIFrame.sizeof()
11 print(
"HSIFrame sizeof test failed")
14 print(
"HSIFrame sizeof test passed")
17 print(
"HSIFrame default constructor test passed")
20 default_timestamp = frame.get_timestamp()
21 expected_default_timestamp = 0xFFFFFFFFFFFFFFFF
22 if default_timestamp != expected_default_timestamp:
23 print(f
"HSIFrame default get_timestamp() test failed: got {hex(default_timestamp)}, expected {hex(expected_default_timestamp)}")
26 print(
"HSIFrame default get_timestamp() test passed")
28 frame_from_bytes = HSIFrame(bytes(frame_size))
29 print(
"HSIFrame created from raw bytes")
31 if frame_from_bytes.version != 0:
32 print(
"HSIFrame version read from raw bytes test failed")
35 if frame_from_bytes.detector_id != 0:
36 print(
"HSIFrame detector_id read from raw bytes test failed")
39 if frame_from_bytes.crate != 0:
40 print(
"HSIFrame crate read from raw bytes test failed")
43 if frame_from_bytes.slot != 0:
44 print(
"HSIFrame slot read from raw bytes test failed")
47 if frame_from_bytes.link != 0:
48 print(
"HSIFrame link read from raw bytes test failed")
51 if frame_from_bytes.input_low != 0:
52 print(
"HSIFrame input_low read from raw bytes test failed")
55 if frame_from_bytes.input_high != 0:
56 print(
"HSIFrame input_high read from raw bytes test failed")
59 if frame_from_bytes.trigger != 0:
60 print(
"HSIFrame trigger read from raw bytes test failed")
63 if frame_from_bytes.sequence != 0:
64 print(
"HSIFrame sequence read from raw bytes test failed")
67 print(
"HSIFrame read-only property tests passed")
70 frame_from_bytes.version = 1
71 print(
"HSIFrame version write should have raised an exception")
74 print(
"HSIFrame version attempted write correctly raised an exception")
76 timestamp = frame_from_bytes.get_timestamp()
77 expected_timestamp = 0x0
78 if timestamp != expected_timestamp:
79 print(f
"HSIFrame get_timestamp() test failed: got {timestamp}, expected {expected_timestamp}")
82 print(
"HSIFrame zeroed-bytes get_timestamp() test passed")
84 print(
"\nAll HSIFrame Python binding tests passed")