Switch Evaluation¶
The test_switch_pressed test will pass if the USR button is being
pressed, and fail otherwise.
This example introduces the use of a container class (Switch) for the
pyboard’s USR switch to make test code more readable.
Bench Setup¶
The only requirement for this test is a pyboard connected via USB.
The USR switch on the pyboard is used for evaluation. The value of the
switch is made accessible via the Switch class:
class Switch(object):
def __init__(self, device):
self.device = device
@property
def value(self):
return self.device.get_switch()()['value']
An instance of Switch is then created in the BenchTest’s
overridden setUpClass() method,
referencing the pyb_a pyboard as the relevant device:
@classmethod
def setUpClass(cls):
cls.pyb_a = upytester.project.get_device('pyb_a')
cls.switch = Switch(device=cls.pyb_a)
Test Case¶
Setting up the BenchTest like this alows the test-code to be very
short and unambiguous:
class SwitchTest(BenchTest):
def test_switch_pressed(self):
"""
Turn red LED on for 500ms asynchronously
"""
self.assertTrue(self.switch.value)