From d1bfc5ed3e4f9053d6cda6025c0604ce1505d07d Mon Sep 17 00:00:00 2001 From: Simon Albinsson Date: Thu, 12 Apr 2018 22:45:42 +0000 Subject: [PATCH] Test: Load/save baseline --- tests/mock_smbus2.py | 2 +- tests/test_sgp.py | 30 ++++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/tests/mock_smbus2.py b/tests/mock_smbus2.py index db4f0ab..cb14e80 100644 --- a/tests/mock_smbus2.py +++ b/tests/mock_smbus2.py @@ -45,6 +45,6 @@ class MockSMBus: def _process_write(s,msg): - s.status = answers[tuple(msg)] + s.status = answers[tuple(msg)[0:2]] s.last=msg diff --git a/tests/test_sgp.py b/tests/test_sgp.py index 5fda0fb..5a88221 100644 --- a/tests/test_sgp.py +++ b/tests/test_sgp.py @@ -39,3 +39,33 @@ class SimpleReadTests(unittest.TestCase): d=sgp.read_measurements() self.assertEqual(d.data,[400,6]) self.assertEqual(d.crc_ok,False) + +class TestBaselineMethods(unittest.TestCase): + """Basic test cases.""" + def setUp(self): + self.bus = MockSMBus() + self.sgp=sgp30.sgp30.Sgp30(self.bus,baseline_filename="/tmp/sgp-crc-test") + fbus=MockSMBus(break_crc=True) + self.fsgp=sgp30.sgp30.Sgp30(fbus) + + + def test_save(s): + s.assertTrue(s.sgp.store_baseline()) + open(s.sgp._baseline_filename).read() + + def test_save_fail(s): + open(s.sgp._baseline_filename,"w").write("") + s.assertFalse(s.fsgp.store_baseline(),"ensure broken crc is detected") + s.assertEquals(open(s.sgp._baseline_filename).read(),"","ensure that broken data is not written") + + def test_save_load(s): + s.assertTrue(s.sgp.store_baseline()) + s.assertTrue(s.sgp.try_set_baseline()) + + def test_load_fail_crc(s): + open(s.sgp._baseline_filename,"w").write("[133, 152, 0, 138, 32, 0]") + s.assertFalse(s.sgp.try_set_baseline()) + + def test_load_fail_broken_json(s): + open(s.sgp._baseline_filename,"w").write("[133, 152, 0.. nope") + s.assertFalse(s.sgp.try_set_baseline())