python-benedict/tests/github/test_issue_0034.py

64 lines
1.6 KiB
Python
Raw Normal View History

import json
import unittest
from benedict import benedict
class github_issue_0034_test_case(unittest.TestCase):
"""
2022-02-13 10:35:43 +00:00
This class describes a github issue 0034 test case.
https://github.com/fabiocaccamo/python-benedict/issues/34
To run this specific test:
- For each method comment @unittest.skip decorator
- Run python -m unittest tests.github.test_issue_0034
"""
def test_json_dumps(self):
2022-02-13 10:35:43 +00:00
b = benedict(
{
"a": 1,
"b": {
"c": {
"d": 2,
},
},
2022-02-13 10:35:43 +00:00
}
)
2020-09-22 13:19:39 +00:00
dumped = json.dumps(b, sort_keys=True)
self.assertEqual(dumped, '{"a": 1, "b": {"c": {"d": 2}}}')
2020-09-23 08:19:13 +00:00
def test_json_dumps_after_pointer_update(self):
d = {
2022-02-13 10:35:43 +00:00
"a": 1,
"b": {
"c": {
"d": 2,
2020-09-23 08:19:13 +00:00
},
},
}
b = benedict(d)
2022-02-13 10:35:43 +00:00
d["a"] = 2
d["b"]["c"]["d"] = 3
self.assertEqual(d, b)
self.assertEqual(b, b)
dumped = json.dumps(b, sort_keys=True)
self.assertEqual(dumped, '{"a": 2, "b": {"c": {"d": 3}}}')
def test_json_dumps_after_instance_update(self):
d = {
2022-02-13 10:35:43 +00:00
"a": 1,
"b": {
"c": {
"d": 2,
},
},
}
b = benedict(d)
2022-02-13 10:35:43 +00:00
b["a"] = 2
b["b"]["c"]["d"] = 3
self.assertEqual(d, b)
self.assertEqual(b, b)
2020-09-23 08:19:13 +00:00
dumped = json.dumps(b, sort_keys=True)
self.assertEqual(dumped, '{"a": 2, "b": {"c": {"d": 3}}}')