def test_free_program(self): channel_pair = TaborChannelPair(self.instrument, identifier='asd', channels=(1, 2)) with self.assertRaises(KeyError): channel_pair.free_program('test') program = TaborProgramMemory(np.array([1, 2], dtype=np.int64), None) channel_pair._segment_references = np.array([1, 3, 1, 0]) channel_pair._known_programs['test'] = program self.assertIs(channel_pair.free_program('test'), program) np.testing.assert_equal(channel_pair._segment_references, np.array([1, 2, 0, 0]))
def test_remove(self): channel_pair = TaborChannelPair(self.instrument, identifier='asd', channels=(1, 2)) calls = [] program_name = 'test' def dummy_free_program(name): self.assertIs(name, program_name) calls.append('free_program') def dummy_cleanup(): calls.append('cleanup') channel_pair.cleanup = dummy_cleanup channel_pair.free_program = dummy_free_program channel_pair.remove(program_name) self.assertEqual(calls, ['free_program', 'cleanup'])