예제 #1
0
def test_unlock(keys):
    """Recursive (un)locking mechanism."""
    flex = FlexDict(DATA)
    flex.lock()
    flex.unlock()
    assert flex.locked is False
    assert flex[keys].locked is False
예제 #2
0
def test_lock_error():
    """KeyError after locking."""
    flex = FlexDict(DATA)
    flex.lock()
    with raises(KeyError):
        flex['z', 'k']  # pylint: disable=W0104
    with raises(KeyError):
        flex['z', 'k'] = 1
    assert flex == DATA
예제 #3
0
def test_lock_inplace_false():
    """Creating a locked and unlocked copies."""
    flex = FlexDict(DATA)
    flex_locked = flex.lock(inplace=False)
    flex_unlocked = flex_locked.unlock(inplace=False)
    assert flex.locked is False
    assert flex_locked.locked is True
    assert flex_unlocked.locked is False
예제 #4
0
def test_unlock_set():
    """Set values after unlocking."""
    flex = FlexDict(DATA)
    flex.lock()
    flex.unlock()
    flex['z', 'k'] = 1
예제 #5
0
def test_lock(keys):
    """Recursive locking mechanism."""
    flex = FlexDict(DATA)
    flex.lock()
    assert flex.locked is True
    assert flex[keys].locked is True