Пример #1
0
def test_loopbackcomm_timeout():
    comm = LoopbackCommunicator()

    assert comm.timeout == 0

    comm.timeout = 10
    assert comm.timeout == 0  # setting should be ignored
Пример #2
0
def test_loopbackcomm_timeout():
    comm = LoopbackCommunicator()

    assert comm.timeout == 0

    comm.timeout = 10
    assert comm.timeout == 0  # setting should be ignored
Пример #3
0
def test_loopbackcomm_timeout():
    comm = LoopbackCommunicator()

    eq_(comm.timeout, 0)

    comm.timeout = 10
    eq_(comm.timeout, 0)  # setting should be ignored
Пример #4
0
def test_loopbackcomm_read_raw_2char_terminator():
    mock_stdin = mock.MagicMock()
    mock_stdin.read.side_effect = [b"a", b"b", b"c", b"\r", b"\n"]
    comm = LoopbackCommunicator(stdin=mock_stdin)
    comm._terminator = "\r\n"

    assert comm.read_raw() == b"abc"
    mock_stdin.read.assert_has_calls([mock.call(1)]*5)
    assert mock_stdin.read.call_count == 5
Пример #5
0
def test_loopbackcomm_address(mock_sys):
    mock_name = mock.PropertyMock(return_value="address")
    type(mock_sys.stdin).name = mock_name
    comm = LoopbackCommunicator()
    comm._conn = mock.MagicMock()

    # Check that our address function is working
    assert comm.address == "address"
    mock_name.assert_called_with()
Пример #6
0
def test_loopbackcomm_read_raw_terminator_is_empty_string():
    mock_stdin = mock.MagicMock()
    mock_stdin.read.side_effect = [b"abc"]
    comm = LoopbackCommunicator(stdin=mock_stdin)
    comm._terminator = ""

    assert comm.read_raw() == b"abc"
    mock_stdin.read.assert_has_calls([mock.call(-1)])
    assert mock_stdin.read.call_count == 1
Пример #7
0
def test_loopbackcomm_read_raw_2char_terminator():
    mock_stdin = mock.MagicMock()
    mock_stdin.read.side_effect = [b"a", b"b", b"c", b"\r", b"\n"]
    comm = LoopbackCommunicator(stdin=mock_stdin)
    comm._terminator = "\r\n"

    assert comm.read_raw() == b"abc"
    mock_stdin.read.assert_has_calls([mock.call(1)]*5)
    assert mock_stdin.read.call_count == 5
Пример #8
0
def test_loopbackcomm_address(mock_sys):
    mock_name = mock.PropertyMock(return_value="address")
    type(mock_sys.stdin).name = mock_name
    comm = LoopbackCommunicator()
    comm._conn = mock.MagicMock()

    # Check that our address function is working
    assert comm.address == "address"
    mock_name.assert_called_with()
Пример #9
0
def test_loopbackcomm_read_raw():
    mock_stdin = mock.MagicMock()
    mock_stdin.read.side_effect = [b"a", b"b", b"c", b"\n"]
    comm = LoopbackCommunicator(stdin=mock_stdin)

    assert comm.read_raw() == b"abc"
    mock_stdin.read.assert_has_calls([mock.call(1)]*4)
    assert mock_stdin.read.call_count == 4

    mock_stdin.read = mock.MagicMock()
    comm.read_raw(10)
    mock_stdin.read.assert_called_with(10)
Пример #10
0
def test_loopbackcomm_read_raw():
    mock_stdin = mock.MagicMock()
    mock_stdin.read.side_effect = [b"a", b"b", b"c", b"\n"]
    comm = LoopbackCommunicator(stdin=mock_stdin)

    assert comm.read_raw() == b"abc"
    mock_stdin.read.assert_has_calls([mock.call(1)]*4)
    assert mock_stdin.read.call_count == 4

    mock_stdin.read = mock.MagicMock()
    comm.read_raw(10)
    mock_stdin.read.assert_called_with(10)
Пример #11
0
def test_loopbackcomm_terminator():
    comm = LoopbackCommunicator()

    # Default terminator should be \n
    eq_(comm.terminator, "\n")

    comm.terminator = b"*"
    eq_(comm.terminator, "*")
    eq_(comm._terminator, "*")

    comm.terminator = u"\r"  # pylint: disable=redefined-variable-type
    eq_(comm.terminator, u"\r")
    eq_(comm._terminator, u"\r")

    comm.terminator = "\r\n"
    eq_(comm.terminator, "\r\n")
    eq_(comm._terminator, "\r\n")
Пример #12
0
def test_loopbackcomm_terminator():
    comm = LoopbackCommunicator()

    # Default terminator should be \n
    eq_(comm.terminator, "\n")

    comm.terminator = b"*"
    eq_(comm.terminator, "*")
    eq_(comm._terminator, "*")

    comm.terminator = u"\r"
    eq_(comm.terminator, u"\r")
    eq_(comm._terminator, u"\r")

    comm.terminator = "\r\n"
    eq_(comm.terminator, "\r\n")
    eq_(comm._terminator, "\r\n")
Пример #13
0
def test_loopbackcomm_terminator():
    comm = LoopbackCommunicator()

    # Default terminator should be \n
    assert comm.terminator == "\n"

    comm.terminator = b"*"
    assert comm.terminator == "*"
    assert comm._terminator == "*"

    comm.terminator = u"\r"
    assert comm.terminator == u"\r"
    assert comm._terminator == u"\r"

    comm.terminator = "\r\n"
    assert comm.terminator == "\r\n"
    assert comm._terminator == "\r\n"
Пример #14
0
def test_loopbackcomm_terminator():
    comm = LoopbackCommunicator()

    # Default terminator should be \n
    assert comm.terminator == "\n"

    comm.terminator = b"*"
    assert comm.terminator == "*"
    assert comm._terminator == "*"

    comm.terminator = u"\r"
    assert comm.terminator == u"\r"
    assert comm._terminator == u"\r"

    comm.terminator = "\r\n"
    assert comm.terminator == "\r\n"
    assert comm._terminator == "\r\n"
Пример #15
0
def test_loopbackcomm_sendcmd():
    mock_stdout = mock.MagicMock()
    comm = LoopbackCommunicator(stdout=mock_stdout)

    comm._sendcmd("mock")
    mock_stdout.write.assert_called_with(b"mock\n")

    comm.write = mock.MagicMock()
    comm._sendcmd("mock")
    comm.write.assert_called_with("mock\n")
Пример #16
0
def test_loopbackcomm_query():
    comm = LoopbackCommunicator()
    comm.read = mock.MagicMock(return_value="answer")
    comm.sendcmd = mock.MagicMock()

    assert comm._query("mock") == "answer"
    comm.sendcmd.assert_called_with("mock")
    comm.read.assert_called_with(-1)

    comm._query("mock", size=10)
    comm.read.assert_called_with(10)
Пример #17
0
def test_loopbackcomm_sendcmd():
    mock_stdout = mock.MagicMock()
    comm = LoopbackCommunicator(stdout=mock_stdout)

    comm._sendcmd("mock")
    mock_stdout.write.assert_called_with(b"mock\n")

    comm.write = mock.MagicMock()
    comm._sendcmd("mock")
    comm.write.assert_called_with("mock\n")
Пример #18
0
def test_loopbackcomm_query():
    comm = LoopbackCommunicator()
    comm.read = mock.MagicMock(return_value="answer")
    comm.sendcmd = mock.MagicMock()

    assert comm._query("mock") == "answer"
    comm.sendcmd.assert_called_with("mock")
    comm.read.assert_called_with(-1)

    comm._query("mock", size=10)
    comm.read.assert_called_with(10)
Пример #19
0
    def open_test(cls, stdin=None, stdout=None):
        """
        Opens an instrument using a loopback communicator for a test
        connection. The primary use case of this is to instantiate a specific
        instrument class without requiring an actual physical connection
        of any kind. This is also very useful for creating unit tests through
        the parameters of this class method.

        :param stdin: The stream of data coming from the instrument
        :type stdin: `io.BytesIO` or `None`
        :param stdout: Empty data stream that will hold data sent from the
            Python class to the loopback communicator. This can then be checked
            for the contents.
        :type stdout: `io.BytesIO` or `None`
        :return: Object representing the virtually-connected instrument
        """
        return cls(LoopbackCommunicator(stdin, stdout))
Пример #20
0
def test_loopbackcomm_close():
    mock_stdin = mock.MagicMock()
    comm = LoopbackCommunicator(stdin=mock_stdin)

    comm.close()
    mock_stdin.close.assert_called_with()
Пример #21
0
def test_loopbackcomm_write_raw():
    mock_stdout = mock.MagicMock()
    comm = LoopbackCommunicator(stdout=mock_stdout)

    comm.write_raw(b"mock")
    mock_stdout.write.assert_called_with(b"mock")
Пример #22
0
def test_loopbackcomm_init():
    var1 = "abc"
    var2 = "123"
    comm = LoopbackCommunicator(stdin=var1, stdout=var2)
    assert comm._stdin is var1
    assert comm._stdout is var2
Пример #23
0
def test_loopbackcomm_write_raw():
    mock_stdout = mock.MagicMock()
    comm = LoopbackCommunicator(stdout=mock_stdout)

    comm.write_raw(b"mock")
    mock_stdout.write.assert_called_with(b"mock")
Пример #24
0
def test_loopbackcomm_seek():
    comm = LoopbackCommunicator()
    comm.seek(1)
Пример #25
0
def test_loopbackcomm_close():
    mock_stdin = mock.MagicMock()
    comm = LoopbackCommunicator(stdin=mock_stdin)

    comm.close()
    mock_stdin.close.assert_called_with()
Пример #26
0
def test_loopbackcomm_tell():
    with pytest.raises(NotImplementedError):
        comm = LoopbackCommunicator()
        comm.tell()
Пример #27
0
def test_loopbackcomm_read_raw_size_invalid():
    with pytest.raises(ValueError):
        mock_stdin = mock.MagicMock()
        mock_stdin.read.side_effect = [b"abc"]
        comm = LoopbackCommunicator(stdin=mock_stdin)
        comm.read_raw(size=-2)
Пример #28
0
def test_loopbackcomm_tell():
    with pytest.raises(NotImplementedError):
        comm = LoopbackCommunicator()
        comm.tell()
Пример #29
0
def test_loopbackcomm_tell():
    comm = LoopbackCommunicator()
    comm.tell()
Пример #30
0
def test_loopbackcomm_flush_input():
    comm = LoopbackCommunicator()
    comm.flush_input()
Пример #31
0
def test_init_mode_given(mocker, mode):
    """Test initialization with a given mode."""
    comm = LoopbackCommunicator()
    send_spy = mocker.spy(comm, 'sendcmd')
    ik.srs.SRS830(comm, outx_mode=mode)
    send_spy.assert_called_with(f"OUTX {mode}")
Пример #32
0
def test_loopbackcomm_flush_input():
    comm = LoopbackCommunicator()
    comm.flush_input()