def test_box_list(self): new_list = BoxList({"item": x} for x in range(0, 10)) new_list.extend([{"item": 22}]) assert new_list[-1].item == 22 new_list.append([{"bad_item": 33}]) assert new_list[-1][0].bad_item == 33 assert repr(new_list).startswith("<BoxList:") for x in new_list.to_list(): assert not isinstance(x, (BoxList, Box)) new_list.insert(0, {"test": 5}) new_list.insert(1, ["a", "b"]) new_list.append("x") assert new_list[0].test == 5 assert isinstance(str(new_list), str) assert isinstance(new_list[1], BoxList) assert not isinstance(new_list.to_list(), BoxList)
def test_boxlist(self): new_list = BoxList({'item': x} for x in range(0, 10)) new_list.extend([{'item': 22}]) assert new_list[-1].item == 22 new_list.append([{'bad_item': 33}]) assert new_list[-1][0].bad_item == 33 assert repr(new_list).startswith("<BoxList:") for x in new_list.to_list(): assert not isinstance(x, (BoxList, Box, LightBox)) new_list.insert(0, {'test': 5}) new_list.insert(1, ['a', 'b']) new_list.append('x') assert new_list[0].test == 5 assert isinstance(str(new_list), str) assert isinstance(new_list[1], BoxList) assert not isinstance(new_list.to_list(), BoxList)
def test_circular_references(self): circular_dict = {} circular_dict["a"] = circular_dict bx = Box(circular_dict) assert bx.a == {} circular_dict_2 = bx.to_dict() assert str(circular_dict_2) == "{'a': {}}" bx2 = Box(circular_dict, k=circular_dict) assert bx2.k.a == bx2.a bx.to_json() circular_list = [] circular_list.append(circular_list) bl = BoxList(circular_list) assert bl == bl[0] assert isinstance(bl[0], BoxList) circular_list_2 = bl.to_list() assert circular_list_2 == circular_list_2[0] assert isinstance(circular_list_2, list)
def test_circular_references(self): circular_dict = {} circular_dict['a'] = circular_dict bx = Box(circular_dict) assert bx.a.a == bx.a circular_dict_2 = bx.a.a.a.to_dict() assert str(circular_dict_2) == "{'a': {...}}" bx2 = Box(circular_dict, k=circular_dict) assert bx2.k == bx2.a with pytest.raises(ValueError): bx.to_json() circular_list = [] circular_list.append(circular_list) bl = BoxList(circular_list) assert bl == bl[0] assert isinstance(bl[0], BoxList) circular_list_2 = bl.to_list() assert circular_list_2 == circular_list_2[0] assert isinstance(circular_list_2, list)