import pytest import os, sys from creader import RawFileReader from fixtures import data_path import numpy as np def test_references_on_read(data_path): fname= data_path/'test_d0_f0_0.raw' r = RawFileReader(fname) frames = r.read(10) assert sys.getrefcount(frames) == 2 #Over counts by one due to call by reference def test_references_on_read_with_header(data_path): fname= data_path/'test_d0_f0_0.raw' r = RawFileReader(fname, header = True) frames, header = r.read(100) assert sys.getrefcount(frames) == 2 #Over counts by one due to call by reference assert sys.getrefcount(header) == 2 def test_reading_frame_numbers(data_path): fname= data_path/'test_d0_f0_0.raw' r = RawFileReader(fname, header = True) frames, header = r.read(1000) assert (header['Frame Number'] == np.arange(201,1201, dtype = np.uint64)).all() def test_reading_more_files_than_available(data_path): fname= data_path/'test_d0_f0_0.raw' r = RawFileReader(fname, header = True) frames, header = r.read(1500) assert frames.shape == (1000,400, 400) assert header.size == 1000