Exemplo n.º 1
0
def test_booleanstatechangearray_init():
    a = BooleanStateChangeArray([False, True, False, True, False],
                                [1, 3, 5, 6, 9],
                                name="a")
    with pytest.raises(ValueError):
        b = BooleanStateChangeArray([1, 2, 3, 5, 8],
                                    t=[1, 2, 4, 8, 16],
                                    name="b")
    return True
Exemplo n.º 2
0
def test_statechangearray_ge():
    a = StateChangeArray([2, 4, 6, 8], t=[1, 3, 4, 6], name="a")
    b = StateChangeArray([1, 4, 3, 9], t=[1, 3, 4, 6], name="b")
    c = a >= b
    assert compare_statechangearrays(
        c, BooleanStateChangeArray([True, False], t=[1, 6], name="a >= b"))
    d = StateChangeArray([1, 4, 3, 9], t=[2, 3, 4, 6], name="d")
    e = a >= d
    assert compare_statechangearrays(
        e, BooleanStateChangeArray([True, False], t=[2, 6], name="a >= d"))
    f = a >= 4
    assert compare_statechangearrays(
        f, BooleanStateChangeArray([False, True], t=[1, 3], name=""))
    return True
Exemplo n.º 3
0
def test_booleanstatechangearray_repr():
    a = BooleanStateChangeArray([False, True, False, True, False],
                                [1, 3, 5, 6, 9],
                                name="a")
    assert (
        repr(a) ==
        "BooleanStateChangeArray([False,  True, False,  True, False], t=[1, 3, 5, 6, 9], name='a')"
    )
    return True
Exemplo n.º 4
0
def test_statechangearray_gt():
    a = StateChangeArray([2, 4, 6, 8], t=[1, 3, 4, 6], name="a")
    b = StateChangeArray([1, 5, 3, 9], t=[1, 3, 4, 6], name="b")
    c = a > b
    assert compare_statechangearrays(
        c,
        BooleanStateChangeArray([True, False, True, False],
                                t=[1, 3, 4, 6],
                                name="a > b"),
    )
    d = StateChangeArray([1, 5, 9], t=[1, 5, 6], name="d")
    e = a > d
    assert compare_statechangearrays(
        e, BooleanStateChangeArray([True, False], t=[1, 6], name="a > d"))
    f = a > 5
    assert compare_statechangearrays(
        f, BooleanStateChangeArray([False, True], t=[1, 4], name=""))
    g = StateChangeArray([1, 5, 3, 9], t=[2, 4, 5, 7], name="g")
    h = a > g
    assert compare_statechangearrays(
        h, BooleanStateChangeArray([True, False], t=[2, 7], name="a > g"))
    return True
Exemplo n.º 5
0
def test_statechangearray_tobool():
    a = StateChangeArray([0, 1, 0, 2, 0], t=[1, 2, 4, 5, 7], name="a")
    b = a.to_bool(inplace=False)
    assert compare_statechangearrays(
        b,
        BooleanStateChangeArray([False, True, False, True, False],
                                t=[1, 2, 4, 5, 7],
                                name="a"),
    )
    a.to_bool(inplace=True)
    assert a.is_bool()
    assert compare_statechangearrays(a, b)
    return True
Exemplo n.º 6
0
def test_statechangearray_invert():
    a = StateChangeArray([True, False, True, False], t=[2, 4, 6, 8], name="a")
    not_a = ~a
    assert compare_statechangearrays(
        not_a,
        BooleanStateChangeArray([False, True, False, True],
                                t=[2, 4, 6, 8],
                                name="(~a)"),
    )
    with pytest.raises(ValueError):
        b = StateChangeArray([1, 2, 3, 4], t=[2, 4, 6, 8], name="b")
        not_b = ~b
    return True
Exemplo n.º 7
0
def test_statechangearray_exor():
    a = StateChangeArray([True, False, True, False], t=[2, 4, 6, 8], name="a")
    b = StateChangeArray([True, False, True, False], t=[3, 5, 7, 9], name="b")
    with pytest.raises(ValueError):
        a_and_1 = a ^ 1
    c = StateChangeArray([2, 4, 6, 8], t=[1, 3, 4, 6], name="c")
    with pytest.raises(ValueError):
        a_and_c = a ^ c
    a_and_b = a ^ b
    assert compare_statechangearrays(
        a_and_b,
        BooleanStateChangeArray(
            [False, True, False, True, False, True, False],
            t=[3, 4, 5, 6, 7, 8, 9],
            name="(a ^ b)",
        ),
    )
    a_and_a = a ^ a
    a_ = a
    a_.name = "(a ^ a)"
    assert compare_statechangearrays(
        a_and_a, BooleanStateChangeArray([False], t=[2], name="(a ^ a)"))
    return True
Exemplo n.º 8
0
def test_statechangearray_or():
    a = StateChangeArray([True, False, True, False], t=[2, 4, 6, 8], name="a")
    b = StateChangeArray([True, False, True, False], t=[3, 5, 7, 9], name="b")
    with pytest.raises(ValueError):
        a_and_1 = a | 1
    c = StateChangeArray([2, 4, 6, 8], t=[1, 3, 4, 6], name="c")
    with pytest.raises(ValueError):
        a_and_c = a | c
    a_and_b = a | b
    assert compare_statechangearrays(
        a_and_b,
        BooleanStateChangeArray([True, False, True, False],
                                t=[2, 5, 6, 9],
                                name="(a | b)"),
    )
    a_and_a = a | a
    a_ = a
    a_.name = "(a | a)"
    assert compare_statechangearrays(a_and_a, a_)
    return True