diff --git a/tests/functional/openlp_core_lib/test_projector_pjlink1.py b/tests/functional/openlp_core_lib/test_projector_pjlink1.py index a3d99e884..4a789e094 100644 --- a/tests/functional/openlp_core_lib/test_projector_pjlink1.py +++ b/tests/functional/openlp_core_lib/test_projector_pjlink1.py @@ -107,3 +107,30 @@ class TestPJLink(TestCase): # THEN: process_inpt method should have been called with 31 mock_process_inpt.called_with('31', "process_inpt should have been called with 31") + + @patch.object(pjlink_test, 'projectorReceivedData') + def projector_process_multiple_lamp_test(self, mock_projectorReceivedData): + """ + Test setting multiple lamp on/off and hours + """ + # GIVEN: Test object + pjlink = pjlink_test + + # WHEN: Call process_command with lamp data + pjlink.process_command('LAMP', '11111 1 22222 0 33333 1') + + # THEN: Lamp should have been set with status=ON and hours=22222 + self.assertEquals(len(pjlink.lamp), 3, + 'Projector should have 3 lamps specified') + self.assertEquals(pjlink.lamp[0]['On'], True, + 'Lamp 1 power status should have been set to TRUE') + self.assertEquals(pjlink.lamp[0]['Hours'], 11111, + 'Lamp 1 hours should have been set to 11111') + self.assertEquals(pjlink.lamp[1]['On'], False, + 'Lamp 2 power status should have been set to FALSE') + self.assertEquals(pjlink.lamp[1]['Hours'], 22222, + 'Lamp 2 hours should have been set to 22222') + self.assertEquals(pjlink.lamp[2]['On'], True, + 'Lamp 3 power status should have been set to TRUE') + self.assertEquals(pjlink.lamp[2]['Hours'], 33333, + 'Lamp 3 hours should have been set to 33333')