Esempio n. 1
0
def test_querycondition_read(common_setup):
    qc = QueryCondition(
        common_setup.dr,
        SampleState.Any | ViewState.Any | InstanceState.NotAliveDisposed,
        lambda msg: msg.message.startswith("Hi"))

    assert not qc.triggered

    messages = [Message(message=f"Hi {i}!")
                for i in range(5)] + [Message(message="Goodbye")]
    for m in messages:
        common_setup.dw.write(m)

    received = common_setup.dr.read(N=6)

    assert messages == received

    common_setup.dw.dispose(messages[5])
    assert not qc.triggered

    common_setup.dw.dispose(messages[1])
    assert qc.triggered

    received = common_setup.dr.read(condition=qc)

    assert len(received) == 1 and received[0] == messages[1]
Esempio n. 2
0
def test_querycondition_get_mask(common_setup):
    mask = SampleState.Any | InstanceState.Any | ViewState.Any
    qc = QueryCondition(common_setup.dr, mask, lambda x: False)

    assert qc.mask == qc.get_mask() == mask

    mask = SampleState.NotRead | InstanceState.NotAliveNoWriters | ViewState.Old

    assert qc.mask == qc.get_mask() != mask

    qc = QueryCondition(common_setup.dr, mask, lambda x: False)

    assert qc.mask == qc.get_mask() == mask
Esempio n. 3
0
def test_querycondition_init(common_setup):
    qc = QueryCondition(common_setup.dr,
                        SampleState.Any | InstanceState.Any | ViewState.Any,
                        lambda x: False)
    assert isgoodentity(qc)
Esempio n. 4
0
def test_querycondition_get_reader(common_setup):
    qc = QueryCondition(common_setup.dr,
                        SampleState.Any | InstanceState.Any | ViewState.Any,
                        lambda x: False)
    assert qc.get_datareader() == common_setup.dr