Source code for libmuscle.test.test_port

import pytest
from ymmsl.v0_2 import Identifier

from libmuscle.port import Operator, Port


[docs] def test_create_port(): port = Port('out', Operator.O_I, False, True, 0, []) assert port.name == Identifier('out') assert port.operator == Operator.O_I assert port._length is None assert port._is_resizable is False assert port._is_connected is True
[docs] def test_create_invalid_port(): with pytest.raises(RuntimeError): Port('out', Operator.O_I, True, True, 1, []) with pytest.raises(RuntimeError): Port('out', Operator.O_F, True, True, 0, [10, 10]) with pytest.raises(RuntimeError): Port('out', Operator.O_F, False, True, 1, [11, 12]) with pytest.raises(RuntimeError): Port('out', Operator.O_I, False, True, 2, [])
[docs] def test_port_properties(): port = Port('out', Operator.O_F, False, False, 0, []) assert port.is_vector() is False assert port.is_resizable() is False assert port.is_connected() is False with pytest.raises(RuntimeError): port.get_length() with pytest.raises(RuntimeError): port.set_length(3) port = Port('out', Operator.O_F, True, True, 0, [10]) assert port.is_vector() is True assert port.is_resizable() is False assert port.get_length() == 10 with pytest.raises(RuntimeError): port.set_length(3) port = Port('out', Operator.O_F, False, True, 1, [10]) assert port.is_vector() is False assert port.is_resizable() is False with pytest.raises(RuntimeError): port.get_length() with pytest.raises(RuntimeError): port.set_length(4) port = Port('out', Operator.O_F, True, True, 1, [10, 20]) assert port.is_vector() is True assert port.is_resizable() is False assert port.get_length() == 20 with pytest.raises(RuntimeError): port.set_length(5) port = Port('out', Operator.O_F, False, True, 2, [12]) assert port.is_vector() is False assert port.is_resizable() is False with pytest.raises(RuntimeError): port.get_length() with pytest.raises(RuntimeError): port.set_length(9) port = Port('out', Operator.O_F, True, True, 1, [13]) assert port.is_vector() is True assert port.is_resizable() is True assert port.get_length() == 0 port.set_length(27) assert port.get_length() == 27