def test_to_xml(self): arg = Argument() xml = arg.to_xml() self.assertIsNone(xml) input_args = [Argument(key='test'), Argument(key='test', value='val'), Argument(key='test', format='int'), Argument(key='test', format='int', value='6')] for arg in input_args: arg_xml = arg.to_xml() derived_arg = Argument(key=arg_xml.tag, value=arg_xml.text, format=arg_xml.get("format")) self.assertDictEqual(derived_arg.as_json(), arg.as_json())
def test_to_from_json(self): input_output = {Argument(): {'key': 'None', 'value': 'None', 'format': 'str'}, Argument(key='test'): {'key': 'test', 'value': 'None', 'format': 'str'}, Argument(key='test', value='val'): {'key': 'test', 'value': 'val', 'format': 'str'}, Argument(key='test', format='int'): {'key': 'test', 'value': 'None', 'format': 'int'}, Argument(key='test', format='int', value='6'): {'key': 'test', 'value': '6', 'format': 'int'}} for arg, expected_json in input_output.items(): original_json = arg.as_json() self.assertDictEqual(original_json, expected_json) self.assertDictEqual(Argument.from_json(original_json).as_json(), expected_json) arg = Argument(key='test', format='int', value='6') arg2 = Argument.from_json(arg.as_json()) self.assertEqual(arg2.value, 6)