def test_files_only_plus_fahrenheit(self, _, glob_mock, __): """Test sensor files only, Fahrenheit (naive) conversion and special degree character""" glob_mock.return_value = [file.name for file in self.tempfiles] self.assertRegex( Temperature().value, r'116\.0@F \(Max\. 122\.0@F\)' # 46.6 converted into Fahrenheit )
def test_files_only_in_fahrenheit(self, _, glob_mock, __): """Test sensor files only, Fahrenheit (naive) conversion and special degree character""" glob_mock.return_value = [file.name for file in self.tempfiles] self.assertEqual( Temperature().value, '116.0@F (Max. 122.0@F)' # 46.7 and 50.0 converted into Fahrenheit. )
def test_sensors_only_in_fahrenheit(self, _): """Test computations around `sensors` output and Fahrenheit (naive) conversion""" self.assertDictEqual( Temperature().value, { 'temperature': 126.6, # (52.6 C in F) 'max_temperature': 237.2, # (114.0 C in F) 'char_before_unit': ' ', 'unit': 'F' })
def test_celsius_to_fahrenheit_conversion(self, _, __, ___): """Simple tests for the `_convert_to_fahrenheit` static method""" temperature = Temperature() # pylint: disable=protected-access self.assertAlmostEqual(temperature._convert_to_fahrenheit(-273.15), -459.67) self.assertAlmostEqual(temperature._convert_to_fahrenheit(0.0), 32.0) self.assertAlmostEqual(temperature._convert_to_fahrenheit(21.0), 69.8) self.assertAlmostEqual(temperature._convert_to_fahrenheit(37.0), 98.6) self.assertAlmostEqual(temperature._convert_to_fahrenheit(100.0), 212.0)
def test_vcgencmd_and_files(self, iglob_mock, _): """Tests `vcgencmd` output AND sensor files""" iglob_mock.return_value = iter( [file.name for file in self._temp_files]) self.assertDictEqual( Temperature().value, { 'temperature': 45.0, 'max_temperature': 50.0, 'char_before_unit': ' ', 'unit': 'C' })
def test_sensors_error_2(self, iglob_mock, _): """Test `sensors` (hard) failure handling and polling from files in Celsius""" iglob_mock.return_value = iter( [file.name for file in self._temp_files]) self.assertDictEqual( Temperature().value, { 'temperature': 46.7, 'max_temperature': 50.0, 'char_before_unit': 'o', 'unit': 'C' })
def test_files_only_in_fahrenheit(self, iglob_mock, _): """Test sensor files only, Fahrenheit (naive) conversion and special degree character""" iglob_mock.return_value = iter( [file.name for file in self._temp_files]) self.assertDictEqual( Temperature().value, { 'temperature': 116.0, # 46.7 degrees C in Fahrenheit. 'max_temperature': 122.0, # 50 degrees C in Fahrenheit 'char_before_unit': '@', 'unit': 'F' })
def test_vcgencmd_and_files(self, iglob_mock, _): """Tests `vcgencmd` output AND sensor files""" iglob_mock.return_value = iter( [file.name for file in self._temp_files]) self.assertDictEqual( Temperature( options={ 'sensors_chipsets': [], 'use_fahrenheit': False, 'char_before_unit': ' ' }).value, { 'temperature': 45.0, 'max_temperature': 50.0, 'char_before_unit': ' ', 'unit': 'C' })
def test_vcgencmd_only_no_max(self, _, __): """ Test for `vcgencmd` output only (no sensor files). Only one value is retrieved, so no maximum should be displayed (see #39). """ temperature = Temperature() output_mock = MagicMock() temperature.output(output_mock) self.assertDictEqual( temperature.value, { 'temperature': 42.8, 'max_temperature': 42.8, 'char_before_unit': ' ', 'unit': 'C' }) self.assertEqual(output_mock.append.call_args[0][1], '42.8 C')
def test_sensors_error_1(self, iglob_mock, _): """Test `sensors` (hard) failure handling and polling from files in Celsius""" iglob_mock.return_value = iter( [file.name for file in self._temp_files]) temperature = Temperature() output_mock = MagicMock() temperature.output(output_mock) self.assertDictEqual( temperature.value, { 'temperature': 46.7, 'max_temperature': 50.0, 'char_before_unit': 'o', 'unit': 'C' }) self.assertEqual(output_mock.append.call_args[0][1], '46.7oC (Max. 50.0oC)')
def test_vcgencmd_only_no_max(self, _, __, ___): """ Test for `vcgencmd` output only (no sensor files). Only one value is retrieved, so no maximum is displayed (see #39). """ self.assertEqual(Temperature().value, '42.8 C')
def test_sensors_error_2(self, _, glob_mock, ___): """Test `sensors` (hard) failure handling and polling from files in Celsius""" glob_mock.return_value = [file.name for file in self.tempfiles] self.assertEqual(Temperature().value, '46.7oC (Max. 50.0oC)')
def test_sensors_only_in_fahrenheit(self, _, __): """Test computations around `sensors` output and Fahrenheit (naive) conversion""" self.assertEqual( Temperature().value, '126.6 F (Max. 237.2 F)' # 52.6 and 114.0 converted into Fahrenheit. )
def test_no_output(self, _, __, ___): """Test when no value could be retrieved (anyhow)""" self.assertEqual(Temperature().value, 'Not detected')
def test_no_output(self, _, __): """Test when no value could be retrieved (anyhow)""" self.assertIsNone(Temperature().value)
def test_vcgencmd_and_files(self, _, glob_mock, __): """Tests `vcgencmd` output AND sensor files""" glob_mock.return_value = [file.name for file in self.tempfiles] self.assertEqual(Temperature().value, '45.0 C (Max. 50.0 C)')
def test_no_output(self, _, __): """Test when no value could be retrieved (anyhow)""" self.assertIsNone(Temperature(options={'sensors_chipsets': []}).value)
def test_vcgencmd_and_files(self, _, glob_mock, __): """Tests `vcgencmd` output AND sensor files""" glob_mock.return_value = [file.name for file in self.tempfiles] self.assertRegex(Temperature().value, r'45\.0.?.? \(Max\. 50\.0.?.?\)')