def test_log_add_packet(self): packet_log = PacketLog() packet_log.filehandle = BytesIO() packet_log.create(*header_values) packet_log.add_packet(packet_values._asdict()) self.assertEqual(list(packet_log.data.get()), packet_values.data)
def test_packet_gap_exception(self): log = PacketLog() log.filehandle = BytesIO() log.create(*header_values) log.add_packet(packet_values._asdict()) with self.assertRaises(GapException): log.add_packet(gap_packet_values._asdict())
def test_log_flush(self): # here we'll mock the methods that actually write to disk # so we can test the flush interface without creating any files trace_write = 'obspy.core.trace.Trace.write' with mock.patch(trace_write, new_callable=mock.Mock) as mocked_write: packet_log = PacketLog() packet_log.filehandle = BytesIO() packet_log.create(*header_values) packet_log.add_packet(packet_values._asdict()) # assert the record was updated self.assertEqual(packet_log.header.num_samples, 5) packet_log.flush() # assert Trace.write was called mocked_write.assert_called_once_with(packet_log.absname, format='MSEED')
def test_packet_overlap(self): log = PacketLog() log.filehandle = BytesIO() log.create(*header_values) log.add_packet(packet_values._asdict()) self.assertEqual(log.header.num_samples, 5) # fudge our num_samples value to avoid gap exception log.header.num_samples += 19775 # add our overlapping data packet = log.add_packet(overlapping_packet_values._asdict()) # assert that a packet containing 180 samples with a starttime of 100.0 is returned self.assertEqual(packet['nsamp'], 180) self.assertEqual(packet['time'], 100.0) # assert our container is full self.assertEqual(log.header.num_samples, 200 * 99) self.assertEqual(log.header.endtime, 100.0)
def test_packet_range_exceptions(self): log = PacketLog() log.filehandle = BytesIO() log.create(*header_values) log.add_packet(packet_values._asdict()) with self.assertRaises(TimeRangeException): log.add_packet(early_packet_values._asdict()) with self.assertRaises(TimeRangeException): log.add_packet(late_packet_values._asdict())