コード例 #1
0
 def test_inputs_with_group(self, dc, yaml1):
     mcp1 = Mock(name='MCP1')
     mcp2 = Mock(name='MCP2')
     dc.devices = {'MCP1': mcp1, 'MCP2': mcp2}
     dc.initialize_input_pins(yaml1)
     assert dc.inputs('epm_sensors') == \
         {'Open Arm|-9': InputPin(device=mcp1, pin=1),
          'Open Arm|-8': InputPin(device=mcp2, pin=2) }
コード例 #2
0
 def test_input_values_false(self, dc):
     dc.initialize()
     mcp1 = dc.devices['MCP1']
     mcp2 = dc.devices['MCP2']
     mcp1.input = Mock(return_value=True)
     mcp2.input = Mock(return_value=False)
     results = dc.input_values(values=False)
     mcp1.assert_has_calls([call.input(1)])
     mcp2.assert_has_calls([call.input(2), call.input(3)])
     assert results == {
         'Open Arm|-8': InputPin(device=mcp2, pin=2),
         'Reset Button': InputPin(device=mcp2, pin=3)
     }
コード例 #3
0
 def test_read_sensors(self, epm):
     mcp1 = epm.devcfg.devices['MCP1']
     mcp2 = epm.devcfg.devices['MCP2']
     mcp1.input = Mock(return_value=False)
     mcp2.input = Mock(return_value=True)
     results = epm.read_sensors()
     mcp1.assert_has_calls([call.input(1)])
     mcp2.assert_has_calls([call.input(2)])
     assert results == {'Open Arm|-9': InputPin(device=mcp1, pin=1)}
コード例 #4
0
def epm():
    d = Mock(name='device')
    e = Mock(name='epm')
    e.read_sensors = Mock(side_effect=[{
        'A': InputPin(d, pin=1)
    }, {
        'B': InputPin(d, pin=2)
    }, {
        'C': InputPin(d, pin=3)
    }, {
        'D': InputPin(d, pin=4),
        'E': InputPin(d, pin=5)
    }, {
        'F': InputPin(d, pin=6)
    }])
    return e
コード例 #5
0
    def test_read_all_sensors(self, epm):
        mcp1 = Mock(name='mcp1')

        pin1 = InputPin(device=mcp1, pin=1)
        pin2 = InputPin(device=mcp1, pin=2)
        pin3 = InputPin(device=mcp1, pin=3)
        pin4 = InputPin(device=mcp1, pin=4)

        pin1.input = Mock(return_value=0)
        pin2.input = Mock(return_value=1)
        pin3.input = Mock(return_value=0)
        pin4.input = Mock(return_value=1)

        inputs = {
            'Open Arm|-6': pin1,
            'Open Arm|-7': pin2,
            'Open Arm|-8': pin3,
            'Open Arm|-9': pin4
        }

        epm.devcfg.inputs = Mock(return_value=inputs)

        assert epm.check_all_sensors() == {0: [pin1, pin3], 1: [pin2, pin4]}
        epm.devcfg.inputs.assert_called_with('epm_sensors')
コード例 #6
0
    def test_detect_sensors_ready(self, epm):
        mcp1 = Mock(name='mcp1')

        pin1 = InputPin(device=mcp1, pin=1, name='a')
        pin2 = InputPin(device=mcp1, pin=2, name='b')
        pin3 = InputPin(device=mcp1, pin=3, name='c')
        pin4 = InputPin(device=mcp1, pin=4, name='d')

        pin1.input = Mock(side_effect=[0, 0, 0, 1])
        pin2.input = Mock(side_effect=[0, 1, 1, 1])
        pin3.input = Mock(side_effect=[1, 0, 0, 1])
        pin4.input = Mock(side_effect=[1, 1, 1, 1])

        inputs = {'a': pin1, 'b': pin2, 'c': pin3, 'd': pin4}
        epm.devcfg.inputs = Mock(return_value=inputs)
        epm.logger.info = Mock(name='logger')
        epm.detect_sensors_ready()
        assert epm.logger.info.call_args_list == [
            call('[epmsensorsd]  Waiting for sensors to be ON and ready: '),
            call('[epmsensorsd]  - a'),
            call('[epmsensorsd]  - b'),
            call(
                '[epmsensorsd]  The following sensors are now properly ON and ready: '
            ),
            call('[epmsensorsd]  - b'),
            call('[epmsensorsd]  Waiting for sensors to be ON and ready: '),
            call('[epmsensorsd]  - c'),
            call('[epmsensorsd]  All 4 sensors are now properly ON and ready.')
        ]