Example #1
0
 def test_default_no_duplicates(self, mock_warn):
     """Ensure warning on duplicates."""
     sen = Sensors(sensor_map[DEVCLASS_INVERTER])
     assert len(sen) > 20
     assert len(sen) < 50
     assert mock_warn.call_count == 0
     # Add duplicate frequency
     news = Sensor("key1", "frequency", "")
     sen.add(news)
     assert mock_warn.call_count == 1
     assert sen[news.name] == news
     # Add duplicate freq, key should not be raised
     sen.add(Sensor("6100_00465700", "frequency", ""))
     assert mock_warn.call_count == 2
     # Add duplicate freq key only
     sen.add(Sensor("6100_00465700", "f001", ""))
     assert mock_warn.call_count == 3
     # Test different key_idx only
     sen.add(Sensor("key1_0", "frequency_0", ""))
     assert mock_warn.call_count == 3
     sen.add(Sensor("key1_1", "frequency_1", ""))
     assert mock_warn.call_count == 3
Example #2
0
 def test_type_error(self, mock_warn):
     """Ensure TypeError on not isinstance."""
     sen = Sensors()
     with pytest.raises(TypeError):
         sen.add("This is not a Sensor")