Exemple #1
0
 def test_embedded_json(self):
     """Tests JSON with child node
     """
     json_data = '{"a": {"b" : true } }'
     json_flattened = json_flatten(json_data)
     self.assertEqual(json.loads(json_flattened),
                      json.loads('{"a.b" : true}'))
Exemple #2
0
 def test_example_json(self):
     """ Tests the example JSON provided in the assignment
     """
     json_data = '{ "a": 1, "b": true, "c": { "d": 3, "e": "test" } }'
     json_flattened = json_flatten(json_data)
     self.assertEqual(
         json.loads(json_flattened),
         json.loads('{ "a": 1, "b": true, "c.d": 3, "c.e": "test" }'))
Exemple #3
0
 def test_long_json(self):
     json_data = (
         '{ "glossary": { "title": "example glossary", "GlossDiv": '
         '{ "title": "S", "GlossList": { "GlossEntry": { "ID": "SGML", '
         ' "SortAs": "SGML", "GlossTerm": "Standard Generalized Markup Language",'
         '"Acronym": "SGML", "Abbrev": "ISO 8879:1986", "GlossDef": { "para": '
         '"A meta-markup language, used to create markup languages such as DocBook.",'
         ' "GlossSeeAlso": "GML" }, "GlossSee": "markup" } } } } }')
     json_flattened = json_flatten(json_data)
     self.assertEqual(
         json.loads(json_flattened),
         json.loads((
             '{ "glossary.title": "example glossary", "glossary.GlossDiv.title": "S", '
             '"glossary.GlossDiv.GlossList.GlossEntry.ID": "SGML", '
             '"glossary.GlossDiv.GlossList.GlossEntry.SortAs": "SGML", '
             '"glossary.GlossDiv.GlossList.GlossEntry.GlossTerm":'
             ' "Standard Generalized Markup Language",'
             '"glossary.GlossDiv.GlossList.GlossEntry.Acronym": "SGML",'
             '"glossary.GlossDiv.GlossList.GlossEntry.Abbrev": "ISO 8879:1986", '
             '"glossary.GlossDiv.GlossList.GlossEntry.GlossDef.para": "A meta-markup language,'
             ' used to create markup languages such as DocBook.", '
             '"glossary.GlossDiv.GlossList.GlossEntry.GlossDef.GlossSeeAlso": "GML", '
             '"glossary.GlossDiv.GlossList.GlossEntry.GlossSee": "markup" }'
         )))
Exemple #4
0
 def test_invalid_json(self):
     """Tests a sample JSON taken from (https://json.org/example.html)
     """
     json_data = '{ "a": {"b" : true }'
     json_flattened = json_flatten(json_data)
     self.assertEqual(json_flattened[0], 400)
Exemple #5
0
 def test_base_case_json(self):
     """ Tests JSON with one key value pair
     """
     json_data = '{"a": 1}'
     json_flattened = json_flatten(json_data)
     self.assertEqual(json.loads(json_flattened), json.loads('{"a" : 1}'))
Exemple #6
0
 def test_empty_json(self):
     """ Tests the empty JSON case
     """
     json_data = '{ }'
     json_flattened = json_flatten(json_data)
     self.assertEqual(json.loads(json_flattened), json.loads('{ }'))