Expand test coverage, bugfix
authorPhil Howard <phil@gadgetoid.com>
Wed, 17 Jul 2019 09:17:28 +0000 (10:17 +0100)
committerPhil Howard <phil@gadgetoid.com>
Wed, 17 Jul 2019 09:17:28 +0000 (10:17 +0100)
library/enviroplus/gas.py
library/tests/test_setup.py

index aa6ac55c62d91999134d362bdb9e0d9d206374e6..584317b6af2dd0ab5d9f2380d69cb3ce37f62bff 100644 (file)
@@ -6,7 +6,7 @@ import ads1015
 import RPi.GPIO as GPIO
 
 MICS6814_HEATER_PIN = 24
 import RPi.GPIO as GPIO
 
 MICS6814_HEATER_PIN = 24
-MICS6814_GAIN = 6.148
+MICS6814_GAIN = 6.144
 
 ads1015.I2C_ADDRESS_DEFAULT = ads1015.I2C_ADDRESS_ALTERNATE
 _is_setup = False
 
 ads1015.I2C_ADDRESS_DEFAULT = ads1015.I2C_ADDRESS_ALTERNATE
 _is_setup = False
@@ -132,3 +132,9 @@ def read_nh3():
     """Return gas resistance for nh3/ammonia"""
     setup()
     return read_all().nh3
     """Return gas resistance for nh3/ammonia"""
     setup()
     return read_all().nh3
+
+
+def read_adc():
+    """Return spare ADC channel value"""
+    setup()
+    return read_all().adc
index b912a3764ee7bcf414c3856aded295ce719af1e0..7c25d9465bb372038e6b0b5ef0a85f8e606f004b 100644 (file)
@@ -16,6 +16,7 @@ def test_gas_setup():
     smbus.SMBus = SMBusFakeDevice
     sys.modules['smbus'] = smbus
     from enviroplus import gas
     smbus.SMBus = SMBusFakeDevice
     sys.modules['smbus'] = smbus
     from enviroplus import gas
+    gas._is_setup = False
     gas.setup()
     gas.setup()
 
     gas.setup()
     gas.setup()
 
@@ -27,6 +28,7 @@ def test_gas_read_all():
     smbus.SMBus = SMBusFakeDevice
     sys.modules['smbus'] = smbus
     from enviroplus import gas
     smbus.SMBus = SMBusFakeDevice
     sys.modules['smbus'] = smbus
     from enviroplus import gas
+    gas._is_setup = False
     result = gas.read_all()
 
     assert type(result.oxidising) == float
     result = gas.read_all()
 
     assert type(result.oxidising) == float
@@ -48,7 +50,49 @@ def test_gas_read_each():
     smbus.SMBus = SMBusFakeDevice
     sys.modules['smbus'] = smbus
     from enviroplus import gas
     smbus.SMBus = SMBusFakeDevice
     sys.modules['smbus'] = smbus
     from enviroplus import gas
+    gas._is_setup = False
 
     assert int(gas.read_oxidising()) == 16641
     assert int(gas.read_reducing()) == 16727
     assert int(gas.read_nh3()) == 16813
 
     assert int(gas.read_oxidising()) == 16641
     assert int(gas.read_reducing()) == 16727
     assert int(gas.read_nh3()) == 16813
+
+
+def test_gas_read_adc():
+    sys.modules['RPi'] = mock.Mock()
+    sys.modules['RPi.GPIO'] = mock.Mock()
+    smbus = mock.Mock()
+    smbus.SMBus = SMBusFakeDevice
+    sys.modules['smbus'] = smbus
+    from enviroplus import gas
+    gas._is_setup = False
+
+    gas.enable_adc(True)
+    gas.set_adc_gain(2.048)
+    assert gas.read_adc() == 0.255
+
+
+def test_gas_read_adc_default_gain():
+    sys.modules['RPi'] = mock.Mock()
+    sys.modules['RPi.GPIO'] = mock.Mock()
+    smbus = mock.Mock()
+    smbus.SMBus = SMBusFakeDevice
+    sys.modules['smbus'] = smbus
+    from enviroplus import gas
+    gas._is_setup = False
+
+    gas.enable_adc(True)
+    assert gas.read_adc() == 0.255
+
+
+def test_gas_read_adc_str():
+    sys.modules['RPi'] = mock.Mock()
+    sys.modules['RPi.GPIO'] = mock.Mock()
+    smbus = mock.Mock()
+    smbus.SMBus = SMBusFakeDevice
+    sys.modules['smbus'] = smbus
+    from enviroplus import gas
+    gas._is_setup = False
+
+    gas.enable_adc(True)
+    gas.set_adc_gain(2.048)
+    assert 'ADC' in str(gas.read_all())