class RadioTest(unittest.TestCase): """ Attention: Test case results depend on test case execution. The test cases in this integration test class should be executed in an explicit order: http://stackoverflow.com/questions/5387299/python-unittest-testcase-execution-order """ @classmethod def setUpClass(self): self.radio = Radio() def test_initial_state(self): state = self.radio.state.name expected_state_name = 'AM' self.assertEqual(state, expected_state_name) def test_initial_am_station(self): station = self.radio.state.stations[self.radio.state.pos] expected_station = '1250' self.assertEqual(station, expected_station) def test_2nd_am_station_after_scan(self): self.radio.scan() station = self.radio.state.stations[self.radio.state.pos] expected_station = '1380' self.assertEqual(station, expected_station) def test_3rd_am_station_after_scan(self): self.radio.scan() station = self.radio.state.stations[self.radio.state.pos] expected_station = '1510' self.assertEqual(station, expected_station) def test_am_station_overflow_after_scan(self): self.radio.scan() station = self.radio.state.stations[self.radio.state.pos] expected_station = '1250' self.assertEqual(station, expected_station) def test_shall_toggle_from_am_to_fm(self): self.radio.toggle_amfm() state = self.radio.state.name expected_state_name = 'FM' self.assertEqual(state, expected_state_name) def test_shall_toggle_from_fm_to_am(self): self.radio.toggle_amfm() state = self.radio.state.name expected_state_name = 'AM' self.assertEqual(state, expected_state_name)
def setUpClass(self): self.radio = Radio()