예제 #1
0
    def test_command_execution(self):
        self.base.create_command(name='c0',
                                 command_string="query c0 {param1} {param2}?",
                                 description="My base command description")

        self.base.create_command(name='c1',
                                 command_string="query c1 {p1} {p2}?",
                                 description="My other command desc.")

        self.base.save()
        ins2 = Instrument(name="I2",
                          base_instrument=self.base,
                          device_id="TEST DEVICE 2")

        ins2.save()
        ins2.prepare()

        ins2.create_command(name='c2',
                            command_string="query c2 {x1} {x2} {x3}?",
                            description="3 params!")

        self.assertEqual(ins2.c0('1', '2'), "query c0 1 2?")

        self.assertEqual(ins2.c1(p1=0, p2=2), "query c1 0 2?")

        self.assertRaises(TypeError, ins2.c1(p1=0, p2=2))

        self.assertEqual(ins2.c2(x1=2, x2=4, x3=8), "query c2 2 4 8?")

        c2_ins2 = ins2._command_names["c2"]
        c2_base = self.base._command_names["c2"]
        self.assertEqual(c2_ins2.description, c2_base.private_description)
예제 #2
0
    def setUp(self):
        super(Test_base, self).setUp()
        device_comm.test_mode()
        self.base = BaseInstrument(name="Base Instrument")

        self.ins = Instrument(name="My Instrument",
                              base_instrument=self.base,
                              device_id="TEST DEVICE")
        self.base.save()
        self.ins.save()