def test_box_modify_at_depth(): bx = Diot(**test_dict) assert 'key1' in bx assert 'key2' not in bx bx['Key 2'].new_thing = "test" assert bx['Key 2'].new_thing == "test" bx['Key 2'].new_thing += "2" assert bx['Key 2'].new_thing == "test2" assert bx['Key 2']['new_thing'] == "test2" bx.__setattr__('key1', 1) assert bx['key1'] == 1 bx.__delattr__('key1') assert 'key1' not in bx
def test_box(): bx = Diot(**test_dict) assert bx.key1 == test_dict['key1'] assert dict(getattr(bx, 'Key 2')) == test_dict['Key 2'] setattr(bx, 'TEST_KEY', 'VALUE') assert bx.TEST_KEY == 'VALUE' delattr(bx, 'TEST_KEY') assert 'TEST_KEY' not in bx assert isinstance(bx['Key 2'].Key4, Diot) assert "'key1': 'value1'" in str(bx) assert repr(bx).startswith("Diot({") bx3 = Diot(a=4) setattr(bx3, 'key', 2) assert bx3.key == 2 bx3.__setattr__("Test", 3) assert bx3.Test == 3