def test_set_properties(self): obj = JsonConverter.to_map( "{ \"value1\": 123, \"value2\": { \"value21\": 111, \"value22\": 222 }, \"value3\": [ 444, " "{ \"value311\": 555 } ] } " ) values = AnyValueMap.from_tuples( "value1", "AAA", "value2", "BBB", "value3.1.value312", "CCC", "value3.3", "DDD", "value4.1", "EEE" ) RecursiveObjectWriter.set_properties(obj, values) values = RecursiveObjectReader.get_properties(obj) assert 8 == len(values) assert "AAA" == values["value1"] assert "BBB", values["value2"] assert 444 == values["value3.0"] assert 555 == values["value3.1.value311"] assert "CCC", values["value3.1.value312"] assert None is values["value3.2"] assert "DDD" == values["value3.3"] assert "EEE" == values["value4.1"]
def test_get_properties(self): obj = JsonConverter.to_map( "{ \"value1\": 123, \"value2\": { \"value21\": 111, \"value22\": 222 }, \"value3\": [ 444, " "{ \"value311\": 555 } ] } ") values = RecursiveObjectReader.get_properties(obj) assert 5 == len(values) assert 123 == values["value1"] assert 111 == values["value2.value21"] assert 222 == values["value2.value22"] assert 444 == values["value3.0"] assert 555 == values["value3.1.value311"]
def test_get_property_names(self): obj = JsonConverter.to_map( "{ \"value1\": 123, \"value2\": { \"value21\": 111, \"value22\": 222 }, \"value3\": [ 444, " "{ \"value311\": 555 } ] } ") names = RecursiveObjectReader.get_property_names(obj) assert 5 == len(names) assert "value1" in names assert "value2.value21" in names assert "value2.value22" in names assert "value3.0" in names assert "value3.1.value311" in names
def test_get_property(self): obj = JsonConverter.to_map( "{ \"value1\": 123, \"value2\": { \"value21\": 111, \"value22\": 222 }, \"value3\": [ 444, " "{ \"value311\": 555 } ] } ") value = RecursiveObjectReader.get_property(obj, "") assert None == value value = RecursiveObjectReader.get_property(obj, "value1") assert 123 == value value = RecursiveObjectReader.get_property(obj, "value2") assert None != value value = RecursiveObjectReader.get_property(obj, "value2.value21") assert 111 == value value = RecursiveObjectReader.get_property(obj, "value2.value31") assert None == value value = RecursiveObjectReader.get_property(obj, "value2.value21.value211") assert None == value value = RecursiveObjectReader.get_property(obj, "valueA.valueB.valueC") assert None == value value = RecursiveObjectReader.get_property(obj, "value3") assert None != value value = RecursiveObjectReader.get_property(obj, "value3.0") assert 444 == value value = RecursiveObjectReader.get_property(obj, "value3.0.value311") assert None == value value = RecursiveObjectReader.get_property(obj, "value3.1") assert None != value value = RecursiveObjectReader.get_property(obj, "value3.1.value311") assert 555 == value value = RecursiveObjectReader.get_property(obj, "value3.2") assert None == value
def test_has_property(self): obj = JsonConverter.to_map( "{ \"value1\": 123, \"value2\": { \"value21\": 111, \"value22\": 222 }, \"value3\": [ 444, " "{ \"value311\": 555 } ] } ") has = RecursiveObjectReader.has_property(obj, "") assert False == has has = RecursiveObjectReader.has_property(obj, "value1") assert True == has has = RecursiveObjectReader.has_property(obj, "value2") assert True == has has = RecursiveObjectReader.has_property(obj, "value2.value21") assert True == has has = RecursiveObjectReader.has_property(obj, "value2.value31") assert False == has has = RecursiveObjectReader.has_property(obj, "value2.value21.value211") assert False == has has = RecursiveObjectReader.has_property(obj, "valueA.valueB.valueC") assert False == has has = RecursiveObjectReader.has_property(obj, "value3") assert True == has has = RecursiveObjectReader.has_property(obj, "value3.0") assert True == has has = RecursiveObjectReader.has_property(obj, "value3.0.value311") assert False == has has = RecursiveObjectReader.has_property(obj, "value3.1") assert True == has has = RecursiveObjectReader.has_property(obj, "value3.1.value311") assert True == has has = RecursiveObjectReader.has_property(obj, "value3.2") assert False == has