class KoradSerialTest(TestCase): def setUp(self): self.ps = KoradSerial(serial_port) self.ps.output = OnOffState('off') def tearDown(self): self.ps.close() def test_modelstring(self): model = self.ps.model self.assertTrue( model.startswith('KORAD') or model.startswith('VELLEMAN')) def test_statusclass(self): status = self.ps.status self.assertIsInstance(status.mode, OutputMode) self.assertIsInstance(status.beep, OnOffState) self.assertIsInstance(status.ocp, OnOffState) self.assertIsInstance(status.ovp, OnOffState) self.assertIsInstance(status.output, OnOffState) def test_ocp(self): self.ps.ocp = OnOffState('on') self.assertEqual(self.ps.ocp.name, 'on') self.ps.ocp = 'off' self.assertEqual(self.ps.ocp.name, 'off') def test_ovp(self): self.ps.ovp = OnOffState('on') self.assertEqual(self.ps.ovp.name, 'on') self.ps.ovp = 'off' self.assertEqual(self.ps.ovp.name, 'off') def test_output(self): self.ps.output = OnOffState('off') self.assertEqual(self.ps.output.name, 'off') self.ps.output = 'on' self.assertEqual(self.ps.output.name, 'on') def test_voltage(self): self.ps.output = OnOffState('off') voltage = self.ps.voltage_set self.ps.voltage = 1 self.assertEqual(self.ps.voltage_actual, 0) self.assertEqual(self.ps.voltage_set, 1) self.ps.voltage = voltage def test_current(self): self.ps.output = OnOffState('off') current = self.ps.current_set self.ps.current = 1 self.assertEqual(self.ps.current_actual, 0) self.assertEqual(self.ps.current_set, 1) self.ps.current = current def test_memory(self): # remember saved values self.ps.recall_from_memory(1) c1, v1 = self.ps.current_set, self.ps.voltage_set self.ps.recall_from_memory(2) c2, v2 = self.ps.current_set, self.ps.voltage_set self.ps.current = 2.0 self.ps.voltage = 5.0 self.ps.save_to_memory(1) self.ps.current = 0.5 self.ps.voltage = 3.3 self.ps.save_to_memory(2) self.ps.recall_from_memory(1) self.assertEqual(self.ps.current_set, 2.0) self.assertEqual(self.ps.voltage_set, 5.0) self.ps.recall_from_memory(2) self.assertEqual(self.ps.current_set, 0.5) self.assertEqual(self.ps.voltage_set, 3.3) self.ps.current = 1.5 self.ps.voltage = 8.0 self.ps.save_to_memory(1) self.ps.current = 0.2 self.ps.voltage = 15.0 self.ps.save_to_memory(2) self.ps.recall_from_memory(1) self.assertEqual(self.ps.current_set, 1.5) self.assertEqual(self.ps.voltage_set, 8.0) self.ps.recall_from_memory(2) self.assertEqual(self.ps.current_set, 0.2) self.assertEqual(self.ps.voltage_set, 15.0) # set backed up values self.ps.current, self.ps.voltage = c2, v2 self.ps.save_to_memory(2) self.ps.current, self.ps.voltage = c1, v1 self.ps.save_to_memory(1)