#!/usr/bin/env python3 """ Search data tests iterator_handling.data_search """ from corelibs.debug_handling.dump_data import dump_data from corelibs.iterator_handling.data_search import find_in_array_from_list, ArraySearchList def main() -> None: """ Comment """ data = [ { "lookup_value_p": "A01", "lookup_value_c": "B01", "replace_value": "R01", }, { "lookup_value_p": "A02", "lookup_value_c": "B02", "replace_value": "R02", }, { "lookup_value_p": "A03", "lookup_value_c": "B03", "replace_value": "R03", }, ] test_foo = ArraySearchList( key="lookup_value_p", value="A01" ) result = find_in_array_from_list(data, [test_foo]) print(f"Search A: {dump_data(test_foo)} -> {dump_data(result)}") search: list[ArraySearchList] = [ { "key": "lookup_value_p", "value": "A01" }, { "key": "lookup_value_c", "value": "B01" }, ] result = find_in_array_from_list(data, search) print(f"Search B: {dump_data(search)} -> {dump_data(result)}") search: list[ArraySearchList] = [ { "key": "lookup_value_p", "value": "A01" }, { "key": "lookup_value_c", "value": "B01" }, { "key": "lookup_value_c", "value": "B02" }, ] try: result = find_in_array_from_list(data, search) print(f"Search C: {dump_data(search)} -> {dump_data(result)}") except KeyError as e: print(f"Search C raised KeyError: {e}") search: list[ArraySearchList] = [ { "key": "lookup_value_p", "value": "A01" }, { "key": "lookup_value_c", "value": ["B01", "B02"] }, ] try: result = find_in_array_from_list(data, search) print(f"Search D: {dump_data(search)} -> {dump_data(result)}") except KeyError as e: print(f"Search D raised KeyError: {e}") search: list[ArraySearchList] = [ { "key": "lookup_value_p", "value": ["A01", "A03"] }, { "key": "lookup_value_c", "value": ["B01", "B02"] }, ] try: result = find_in_array_from_list(data, search) print(f"Search E: {dump_data(search)} -> {dump_data(result)}") except KeyError as e: print(f"Search E raised KeyError: {e}") search: list[ArraySearchList] = [ { "key": "lookup_value_p", "value": "NOT FOUND" }, ] try: result = find_in_array_from_list(data, search) print(f"Search F: {dump_data(search)} -> {dump_data(result)}") except KeyError as e: print(f"Search F raised KeyError: {e}") data = [ { "sd_user_id": "1593", "email": "", "employee_id": "" }, { "sd_user_id": "1592", "email": "", "employee_id": "" }, { "sd_user_id": "1596", "email": "", "employee_id": "" }, { "sd_user_id": "1594", "email": "", "employee_id": "" }, { "sd_user_id": "1595", "email": "", "employee_id": "" }, { "sd_user_id": "1861", "email": "", "employee_id": "" }, { "sd_user_id": "1862", "email": "", "employee_id": "" }, { "sd_user_id": "1860", "email": "", "employee_id": "" } ] result = find_in_array_from_list(data, [ArraySearchList( key="sd_user_id", value="1593" )]) print(f"Search F: -> {dump_data(result)}") if __name__ == "__main__": main() # __END__