def test_validate_input_duplicate_removal(self): validated = TableWaveform._validate_input([ TableWaveformEntry(0.0, 0.2, HoldInterpolationStrategy()), TableWaveformEntry(0.1, 0.2, LinearInterpolationStrategy()), TableWaveformEntry(0.1, 0.3, JumpInterpolationStrategy()), TableWaveformEntry(0.1, 0.3, HoldInterpolationStrategy()), TableWaveformEntry(0.2, 0.3, LinearInterpolationStrategy()), TableWaveformEntry(0.3, 0.3, JumpInterpolationStrategy()) ]) self.assertEqual( validated, (TableWaveformEntry(0.0, 0.2, HoldInterpolationStrategy()), TableWaveformEntry(0.1, 0.2, LinearInterpolationStrategy()), TableWaveformEntry(0.1, 0.3, HoldInterpolationStrategy()), TableWaveformEntry(0.3, 0.3, JumpInterpolationStrategy())))
def test_validate_input_errors(self): with self.assertRaises(ValueError): TableWaveform._validate_input( [TableWaveformEntry(0.0, 0.2, HoldInterpolationStrategy())]) with self.assertRaises(ValueError): TableWaveform._validate_input([ TableWaveformEntry(0.0, 0.2, HoldInterpolationStrategy()), TableWaveformEntry(0.0, 0.3, HoldInterpolationStrategy()) ]) with self.assertRaises(ValueError): TableWaveform._validate_input([ TableWaveformEntry(0.1, 0.2, HoldInterpolationStrategy()), TableWaveformEntry(0.2, 0.2, HoldInterpolationStrategy()) ]) with self.assertRaises(ValueError): TableWaveform._validate_input([ TableWaveformEntry(0.0, 0.2, HoldInterpolationStrategy()), TableWaveformEntry(0.2, 0.2, HoldInterpolationStrategy()), TableWaveformEntry(0.1, 0.2, HoldInterpolationStrategy()) ])