def test_channelizetask(self): """Test channelization task.""" ct = Channelize(self.fh, self.n) # Channelize everything. data1 = ct.read() assert ct.tell() == ct.shape[0] assert (ct.time - ct.start_time - ct.shape[0] / ct.sample_rate) < 1*u.ns assert ct.dtype is self.ref_data.dtype is data1.dtype assert np.all(self.ref_data == data1) # Seeking and selective decode. ct.seek(-3, 2) assert ct.tell() == ct.shape[0] - 3 data2 = ct.read() assert data2.shape[0] == 3 assert np.all(self.ref_data[-3:] == data2) ct.seek(-2, 2) with pytest.raises(EOFError): ct.read(10) ct.close() assert ct.closed with pytest.raises(ValueError): ct.read(1) with pytest.raises(AttributeError): ct.ih
def test_channelize_samples_per_frame(self, samples_per_frame): """Test channelization task.""" ct = Channelize(self.fh, self.n, samples_per_frame=samples_per_frame) # Channelize everything. data1 = ct.read() assert len(data1) % samples_per_frame == 0 assert (len(data1) // samples_per_frame == len(self.ref_data) // samples_per_frame) ref_data = self.ref_data[:len(data1)] assert np.all(data1 == ref_data) # Seeking and selective decode. ct.seek(-3, 2) assert ct.tell() == ct.shape[0] - 3 data2 = ct.read() assert data2.shape[0] == 3 assert np.all(data2 == ref_data[-3:])