@@ -254,8 +254,8 @@ def test_000(self) -> None:
254254 meta = self .prepare (TEST_U8_DATA0 , TEST_U8_META0 , np .uint8 , autoscale = False )
255255 self .assertEqual (256 , meta ._count_samples ())
256256 self .assertTrue (meta ._is_conforming_dataset ())
257- self .assertTrue ((0 , 0 ), meta .get_capture_byte_boundarys (0 ))
258- self .assertTrue ((0 , 256 ), meta .get_capture_byte_boundarys (1 ))
257+ self .assertTrue ((0 , 0 ), meta .get_capture_byte_boundaries (0 ))
258+ self .assertTrue ((0 , 256 ), meta .get_capture_byte_boundaries (1 ))
259259 self .assertTrue (np .array_equal (TEST_U8_DATA0 , meta .read_samples ()))
260260 self .assertTrue (np .array_equal (np .array ([]), meta .read_samples_in_capture (0 )))
261261 self .assertTrue (np .array_equal (TEST_U8_DATA0 , meta .read_samples_in_capture (1 )))
@@ -265,8 +265,8 @@ def test_001(self) -> None:
265265 meta = self .prepare (TEST_U8_DATA1 , TEST_U8_META1 , np .uint8 , autoscale = False )
266266 self .assertEqual (192 , meta ._count_samples ())
267267 self .assertFalse (meta ._is_conforming_dataset ())
268- self .assertTrue ((32 , 160 ), meta .get_capture_byte_boundarys (0 ))
269- self .assertTrue ((160 , 224 ), meta .get_capture_byte_boundarys (1 ))
268+ self .assertTrue ((32 , 160 ), meta .get_capture_byte_boundaries (0 ))
269+ self .assertTrue ((160 , 224 ), meta .get_capture_byte_boundaries (1 ))
270270 self .assertTrue (np .array_equal (np .arange (128 ), meta .read_samples_in_capture (0 )))
271271 self .assertTrue (np .array_equal (np .arange (128 , 192 ), meta .read_samples_in_capture (1 )))
272272
@@ -275,8 +275,8 @@ def test_002(self) -> None:
275275 meta = self .prepare (TEST_U8_DATA2 , TEST_U8_META2 , np .uint8 , autoscale = False )
276276 self .assertEqual (192 , meta ._count_samples ())
277277 self .assertFalse (meta ._is_conforming_dataset ())
278- self .assertTrue ((32 , 160 ), meta .get_capture_byte_boundarys (0 ))
279- self .assertTrue ((160 , 224 ), meta .get_capture_byte_boundarys (1 ))
278+ self .assertTrue ((32 , 160 ), meta .get_capture_byte_boundaries (0 ))
279+ self .assertTrue ((160 , 224 ), meta .get_capture_byte_boundaries (1 ))
280280 self .assertTrue (np .array_equal (np .arange (128 ), meta .read_samples_in_capture (0 )))
281281 self .assertTrue (np .array_equal (np .arange (128 , 192 ), meta .read_samples_in_capture (1 )))
282282
@@ -285,9 +285,9 @@ def test_003(self) -> None:
285285 meta = self .prepare (TEST_U8_DATA3 , TEST_U8_META3 , np .uint8 , autoscale = False )
286286 self .assertEqual (192 , meta ._count_samples ())
287287 self .assertFalse (meta ._is_conforming_dataset ())
288- self .assertTrue ((32 , 64 ), meta .get_capture_byte_boundarys (0 ))
289- self .assertTrue ((64 , 160 ), meta .get_capture_byte_boundarys (1 ))
290- self .assertTrue ((160 , 224 ), meta .get_capture_byte_boundarys (2 ))
288+ self .assertTrue ((32 , 64 ), meta .get_capture_byte_boundaries (0 ))
289+ self .assertTrue ((64 , 160 ), meta .get_capture_byte_boundaries (1 ))
290+ self .assertTrue ((160 , 224 ), meta .get_capture_byte_boundaries (2 ))
291291 self .assertTrue (np .array_equal (np .arange (32 ), meta .read_samples_in_capture (0 )))
292292 self .assertTrue (np .array_equal (np .arange (32 , 128 ), meta .read_samples_in_capture (1 )))
293293 self .assertTrue (np .array_equal (np .arange (128 , 192 ), meta .read_samples_in_capture (2 )))
@@ -297,8 +297,8 @@ def test_004(self) -> None:
297297 meta = self .prepare (TEST_U8_DATA4 , TEST_U8_META4 , np .uint8 , autoscale = False )
298298 self .assertEqual (96 , meta ._count_samples ())
299299 self .assertFalse (meta ._is_conforming_dataset ())
300- self .assertTrue ((32 , 96 ), meta .get_capture_byte_boundarys (0 ))
301- self .assertTrue ((96 , 160 ), meta .get_capture_byte_boundarys (1 ))
300+ self .assertTrue ((32 , 96 ), meta .get_capture_byte_boundaries (0 ))
301+ self .assertTrue ((96 , 160 ), meta .get_capture_byte_boundaries (1 ))
302302 self .assertTrue (np .array_equal (np .arange (64 ).repeat (2 ).reshape (- 1 , 2 ), meta .read_samples_in_capture (0 )))
303303 self .assertTrue (np .array_equal (np .arange (64 , 96 ).repeat (2 ).reshape (- 1 , 2 ), meta .read_samples_in_capture (1 )))
304304
@@ -317,13 +317,24 @@ def test_slicing_rf32(self) -> None:
317317
318318 def test_slicing_multiple_channels (self ) -> None :
319319 """slice multiple channels"""
320- meta_raw = self . prepare ( TEST_U8_DATA4 , TEST_U8_META4 , np . uint8 , autoscale = False )
321- meta_scaled = self .prepare (TEST_U8_DATA4 , TEST_U8_META4 , np .uint8 , autoscale = False ) # use raw data for this test
320+
321+ meta = self .prepare (TEST_U8_DATA4 , TEST_U8_META4 , np .uint8 , autoscale = False )
322322 channelized = np .array (TEST_U8_DATA4 ).reshape ((- 1 , 2 ))
323- self .assertTrue (np .array_equal (meta_scaled [:][:], channelized ))
324- self .assertTrue (np .array_equal (meta_raw [10 :20 , 0 ], meta_raw .read_samples ()[10 :20 , 0 ]))
325- self .assertTrue (np .array_equal (meta_scaled [0 ], channelized [0 ]))
326- self .assertTrue (np .array_equal (meta_scaled [1 , :], channelized [1 ]))
323+ self .assertTrue (np .array_equal (meta [:][:], channelized ))
324+ self .assertTrue (np .array_equal (meta [10 :20 , 0 ], meta .read_samples ()[10 :20 , 0 ]))
325+ self .assertTrue (np .array_equal (meta [0 ], channelized [0 ]))
326+ self .assertTrue (np .array_equal (meta [1 , :], channelized [1 ]))
327+
328+ def test_boundaries (self ) -> None :
329+ """capture byte boundaries from pairs & archives"""
330+ # get a meta pair and archive
331+ meta = self .prepare (TEST_U8_DATA3 , TEST_U8_META3 , np .uint8 )
332+ arc_path = self .temp_dir / "arc.sigmf"
333+ meta .tofile (arc_path , toarchive = True )
334+ arc = sigmf .fromfile (arc_path )
335+ for bdx in range (3 ):
336+ self .assertEqual (meta .get_capture_byte_boundaries (bdx ), arc .get_capture_byte_boundaries (bdx ))
337+ self .assertTrue (np .array_equal (meta .read_samples_in_capture (bdx ), arc .read_samples_in_capture (bdx )))
327338
328339
329340def simulate_capture (sigmf_md , n , capture_len ):
0 commit comments