Test: Test i2c_generalcall

This commit is contained in:
Simon Albinsson
2018-04-12 21:02:57 +00:00
parent 3599889c8d
commit 100b410a1d
2 changed files with 17 additions and 2 deletions

View File

@@ -18,6 +18,8 @@ answers = {
class MockSMBus: class MockSMBus:
def __init__(s): def __init__(s):
s.status=None s.status=None
s.last=None
s.addr=None
def i2c_rdwr(s,*msgs): def i2c_rdwr(s,*msgs):
for m in msgs: for m in msgs:
@@ -25,6 +27,12 @@ class MockSMBus:
s._process_read(m) s._process_read(m)
else: else:
s._process_write(m) s._process_write(m)
def write_byte(s,addr,data):
s.status=None
s.addr=addr
s.last=data
def _process_read(s,msg): def _process_read(s,msg):
if s.status == None: if s.status == None:
raise AssertionError("tired to read before write") raise AssertionError("tired to read before write")
@@ -32,4 +40,5 @@ class MockSMBus:
msg.buf[i]=chr(s.status[i]) msg.buf[i]=chr(s.status[i])
def _process_write(s,msg): def _process_write(s,msg):
s.status = answers[tuple(msg)] s.status = answers[tuple(msg)]
s.last=msg

View File

@@ -11,10 +11,16 @@ class TestConstructor(unittest.TestCase):
b=sgp30.sgp30.Sgp30(self.bus) b=sgp30.sgp30.Sgp30(self.bus)
b.init_sgp() b.init_sgp()
class SimpleTest(unittest.TestCase): def test_general_call(self):
b=sgp30.sgp30.Sgp30(self.bus)
b.i2c_geral_call()
self.assertEqual(self.bus.addr,0)
self.assertEqual(self.bus.last,0x06)
class SimpleReadTests(unittest.TestCase):
"""Basic test cases.""" """Basic test cases."""
def setUp(self): def setUp(self):
self.bus = MockSMBus() self.bus = MockSMBus()
self.sgp=sgp30.sgp30.Sgp30(self.bus) self.sgp=sgp30.sgp30.Sgp30(self.bus)
def test_read(self): def test_read(self):
self.sgp.read_measurements() self.assertEqual(self.sgp.read_measurements().data,[400,6])