def test_two_of_same_kind(): mocker1 = Mocker1() mocker2 = Mocker1() mocker1.send(":INSTR:CHANNEL1:VOLT 12") voltage = mocker1.send(":INSTR:CHANNEL1:VOLT?") assert voltage == "12.0" mocker2.send(":INSTR:CHANNEL1:VOLT 13.4") voltage = mocker2.send(":INSTR:CHANNEL1:VOLT?") assert voltage == "13.4"
def test_base(): mocker = Mocker1() mocker.send(":INSTR:CHANNEL1:VOLT 12") mocker.send(":INSTR:CHANNEL2:VOLT 13.4") voltage = mocker.send(":INSTR:CHANNEL1:VOLT?") assert voltage == "12.0" voltage = mocker.send(":INSTR:CHANNEL2:VOLT?") assert voltage == "13.4"
def test_delay_on_instrument(): call_delay = 1.0 # unit: [sec] mocker = Mocker1() # By default, there is no delay: time_w_no_delay = time_command(mocker, ":INSTR:CHANNEL1:VOLT?") # To introduce the delay to the whole instrument: mocker.set_call_delay(call_delay) time_w_delay = time_command(mocker, ":INSTR:CHANNEL1:VOLT?") assert time_w_delay - time_w_no_delay == pytest.approx(call_delay, 0.1)
def test_one_of_each_kind(): mocker1 = Mocker1() mocker2 = Mocker2() mocker1.send(":INSTR:CHANNEL1:VOLT 12") voltage = mocker1.send(":INSTR:CHANNEL1:VOLT?") assert voltage == "12.0" mocker2.send(":INSTR:CHANNEL1:VOLT 13.4") voltage = mocker2.send(":INSTR:CHANNEL1:VOLT?") assert voltage == "26.8"
def test_delay_on_command(): call_delay = 2.0 # unit: [sec] mocker = Mocker1() cmd_w_delay = ":INSTR:CHANNEL(.*):VOLT (.*)" # To introduce delay to one cmd only: mocker.set_call_delay(call_delay, cmd_w_delay) time_w_delay = time_command(mocker, ":INSTR:CHANNEL1:VOLT 12") # Other comands should have no delay: time_w_no_delay = time_command(mocker, ":INSTR:CHANNEL1:VOLT?") assert time_w_delay - time_w_no_delay == pytest.approx(call_delay, 0.1)