def test__delitem__(): named_sndict_a = StructuredNestedDict( dict_a, levels=3, level_names=["a", "b", "c"]) del named_sndict_a["key2"] assert list_equal( named_sndict_a.flatten_values(), ['val1_1_1', 'val1_1_2'], ) assert named_sndict_a.dim == (2, 1, 2)
def test_ix(): sndict_a = StructuredNestedDict(dict_a, levels=3) assert sndict_a.ix['key1', 'key1_1', 'key1_1_1'] == "val1_1_1" try: _ = sndict_a.ix['keyX', 'keyX_1', 'keyX_1_1'] raise RuntimeError except KeyError: pass sndict_a.ix['keyX', 'keyX_1', 'keyX_1_1'] = "valX_1_1" assert sndict_a.ix['keyX', 'keyX_1', 'keyX_1_1'] == "valX_1_1" sndict_c = StructuredNestedDict(dict_c, levels=3) sndict_c.ix[:, "keyX_1", :] = "NEW" assert list_equal( sndict_c.flatten_values(), ['NEW', 'NEW', 'NEW', 'NEW', 'val2_2_1', 'val2_2_2', 'val2_2_3', 'val2_2_4', 'val2_2_5'], )