From: Phil Howard Date: Wed, 17 Jul 2019 09:17:28 +0000 (+0100) Subject: Expand test coverage, bugfix X-Git-Url: https://zdv2.bktei.com/gitweb/EVA-2020-02-2.git/commitdiff_plain/8c9d06156f0e0d66163a16acc2f6c5d42812b5f0?ds=inline;hp=--cc Expand test coverage, bugfix --- 8c9d06156f0e0d66163a16acc2f6c5d42812b5f0 diff --git a/library/enviroplus/gas.py b/library/enviroplus/gas.py index aa6ac55..584317b 100644 --- a/library/enviroplus/gas.py +++ b/library/enviroplus/gas.py @@ -6,7 +6,7 @@ import ads1015 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 @@ -132,3 +132,9 @@ def read_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 diff --git a/library/tests/test_setup.py b/library/tests/test_setup.py index b912a37..7c25d94 100644 --- a/library/tests/test_setup.py +++ b/library/tests/test_setup.py @@ -16,6 +16,7 @@ def test_gas_setup(): smbus.SMBus = SMBusFakeDevice sys.modules['smbus'] = smbus from enviroplus import gas + gas._is_setup = False gas.setup() gas.setup() @@ -27,6 +28,7 @@ def test_gas_read_all(): smbus.SMBus = SMBusFakeDevice sys.modules['smbus'] = smbus from enviroplus import gas + gas._is_setup = False 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 + gas._is_setup = False 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())