コード例 #1
0
ファイル: test_LightProvider.py プロジェクト: jb1t/Python
    def test_setupGPIO(self):
        mockGPIO = Mock()

        lp = LightProvider(mockGPIO)
        lp.setupGPIO()

        self.assertTrue(mockGPIO.output.called)
        mockGPIO.setmode.assert_any_call(mockGPIO.BCM)
        mockGPIO.setup.assert_any_call(LightProvider.RED_PIN(), mockGPIO.OUT)
        mockGPIO.setup.assert_any_call(LightProvider.GREEN_PIN(), mockGPIO.OUT)
        mockGPIO.setup.assert_any_call(LightProvider.YELLOW_PIN(), mockGPIO.OUT)
        mockGPIO.output.assert_any_call(LightProvider.RED_PIN(), mockGPIO.LOW)
        mockGPIO.output.assert_any_call(LightProvider.GREEN_PIN(), mockGPIO.LOW)
        mockGPIO.output.assert_any_call(LightProvider.YELLOW_PIN(), mockGPIO.LOW)
コード例 #2
0
                self.lights.clearPins()
                self.lights.cleanup()

        if self.isDisplayTime:
            try:
                status = self.getStatusToDisplay()
                self.lights.clearPins()
                self.lights.lightPin(self.getPinToLightUp(status))
            except KeyboardInterrupt:
                self.lights.cleanup()
            except:
                print 'Unhandled error occurred: ', sys.exc_info()[0]

if __name__ == '__main__':
    try:

        appConfig = AppConfig()
        lights = LightProvider(GPIO)
        tc = TeamCityProvider(requests, appConfig, 'jgarrison', 'password')
        tv = TimeValidator(datetime, WEHolidays())
        buildLights = TCBuildLights(lights, tc, tv)

        lights.setupGPIO()

        while 1:
            buildLights.main()
            time.sleep(5)

    except KeyboardInterrupt:
        lights.cleanup()