Example #1
0
def test_calculate_lower_priority_value():
    p = MultiModeItem('TestItem')
    m1 = ValueMode('modea', '1234')
    m2 = ValueMode('modeb', '4567')
    p.add_mode(1, m1).add_mode(2, m2)

    assert m1.calculate_lower_priority_value() is None
    assert m2.calculate_lower_priority_value() == '1234'

    m1.set_value('asdf')
    assert m2.calculate_lower_priority_value() == 'asdf'
Example #2
0
def test_auto_disable_func():
    p = MultiModeItem('TestItem')
    m1 = ValueMode('modea', 50)
    m2 = ValueMode('modeb', 60, auto_disable_func=lambda low, s: low == 40)
    p.add_mode(1, m1).add_mode(2, m2)

    m2.set_value(60)
    assert p.value == 60
    assert m2.enabled is True

    m1.set_value(40)

    assert p.value == 40
    assert m2.enabled is False

    m1.set_value(50)
    assert p.value == 50
    assert m2.enabled is False
Example #3
0
def test_auto_disable_1():
    p = MultiModeItem('TestItem')
    m1 = ValueMode('modea', 50)
    m2 = ValueMode('modeb', 60, auto_disable_func=lambda l, o: l > o)
    p.add_mode(1, m1).add_mode(2, m2)

    m1.set_value(50)
    assert p.value == 60

    m1.set_value(61)
    assert not m2.enabled
    assert p.value == 61

    m1.set_value(59)
    assert p.value == 59
Example #4
0
def test_diff_prio():
    p = MultiModeItem('TestItem')
    p1 = ValueMode('modea', '1234')
    p2 = ValueMode('modeb', '4567')
    p.add_mode(1, p1).add_mode(2, p2)

    p1.set_value(5)
    assert p.value == '4567'

    p2.set_enabled(False)
    assert p.value == 5

    p2.set_enabled(True)
    assert p.value == '4567'

    p2.set_enabled(False)
    p2.set_value(8888)
    assert p.value == 8888