Beispiel #1
0
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)