def setup(self): self.mock_chip = Mock(spec_set=PiFaceDigital) self.opin0 = Mock() self.opin1 = Mock() self.opin2 = Mock() self.opin3 = Mock() type(self.mock_chip).output_pins = [ self.opin0, self.opin1, self.opin2, self.opin3 ] self.ipin0 = Mock() type(self.ipin0).value = 10 self.ipin1 = Mock() type(self.ipin1).value = 11 self.ipin2 = Mock() type(self.ipin2).value = 12 self.ipin3 = Mock() type(self.ipin3).value = 13 type(self.mock_chip).input_pins = [ self.ipin0, self.ipin1, self.ipin2, self.ipin3 ] with patch('%s.PiFaceDigital' % pbm) as mock_pfd: with patch('%s.Config' % pbm) as mock_config: type(mock_config.return_value).PINS = [0, 0, 0, 0] mock_pfd.return_value = self.mock_chip self.cls = Listener() self.cls.chip = self.mock_chip self.config = mock_config
def test_init(self): with patch('%s.Config' % pbm) as mock_config: type(mock_config.return_value).PINS = [0, 0, 0, 0] cls = Listener() assert cls.write_files is True assert cls.current_values == [] assert mock_config.mock_calls == [call()] assert cls.config == mock_config.return_value
def test_init_too_few_pins(self): with patch('%s.Config' % pbm) as mock_config: type(mock_config.return_value).PINS = [0] with pytest.raises(SystemExit): Listener()