python-benedict/tests/stackoverflow/test_question_60066331.py

42 lines
1.3 KiB
Python

import unittest
class stackoverflow_question_60066331_test_case(unittest.TestCase):
def test_stackoverflow_question_60066331(self):
"""
https://stackoverflow.com/questions/60066331/find-elements-in-python-dict
"""
from benedict import benedict as bdict
d = bdict(
{
"ResponseMetadata": {"NOT IMPORTANT"},
"hasMoreResults": True,
"marker": '{"NOT IMPORTANT"}',
"pipelineIdList": [
{"id": "df-0001", "name": "Blue"},
{"id": "df-0002", "name": "Orange"},
{"id": "df-0003", "name": "Green"},
{"id": "df-0004", "name": "Red"},
{"id": "df-0005", "name": "Purple"},
],
}
)
results = d.search(
"red", in_keys=False, in_values=True, exact=True, case_sensitive=False
)
# for item, key, value in results:
# print(item) # {'id': 'df-0004', 'name': 'Red'}
# print(key) # 'name'
# print(value) # 'Red'
self.assertEqual(len(results), 1)
self.assertEqual(
results[0],
(
{"id": "df-0004", "name": "Red"},
"name",
"Red",
),
)