def test_invalid_pulse_length(self):
        reference_pulses_not_enough = TestNecDecoder.reference_pulses[:-1]

        decoder = NecDecoder()
        start = decoder._find_start_index(reference_pulses_not_enough)

        assert not decoder._validate_pulses(reference_pulses_not_enough, start)
    def test_no_end_low(self):
        # Set the last pulse to a high time
        reference_pulses = TestNecDecoder.reference_pulses[:]
        reference_pulses[len(reference_pulses) - 1] = 1687.5
        reference_pulses_no_end_low = reference_pulses

        decoder = NecDecoder()
        start = decoder._find_start_index(reference_pulses_no_end_low)

        assert not decoder._validate_pulses(reference_pulses_no_end_low, start)
    def test_no_pause(self):
        # Set the pause to a low time
        reference_pulses = TestNecDecoder.reference_pulses[:]
        reference_pulses[1] = 562.5
        reference_pulses_no_pause = reference_pulses

        decoder = NecDecoder()
        start = decoder._find_start_index(reference_pulses_no_pause)

        assert not decoder._validate_pulses(reference_pulses_no_pause, start)
    def test_valid_pulses(self):
        decoder = NecDecoder()
        start = decoder._find_start_index(TestNecDecoder.reference_pulses)
        decoder._classify_message(TestNecDecoder.reference_pulses, start)

        assert decoder._validate_pulses(TestNecDecoder.reference_pulses, start)