Merged in hotfix/flatten-list-to-string (pull request #478)
Hotfix/flatten list to string * updated * rate fields fix * updated the singleton_list * updated * added * Checked_files * added * Merged main into hotfix/flatten-list-to-string * format_rate_fields_with_commas * Update test * flatten_singleton_string_list - new cases * Update * Removed unneccessary case * Remove case * Updated the test cases * Merge remote-tracking branch 'origin/main' into hotfix/flatten-list-to-string * Refactor flatten_singleton_string_list to handle empty input and return a comma-separated string for multiple elements Approved-by: Katon Minhas
This commit is contained in:
@@ -74,12 +74,14 @@ def flatten_singleton_string_list(list_str: str) -> str:
|
|||||||
Returns:
|
Returns:
|
||||||
str: The single element if the list has one element, otherwise the list as a string.
|
str: The single element if the list has one element, otherwise the list as a string.
|
||||||
"""
|
"""
|
||||||
|
if string_utils.is_empty(list_str):
|
||||||
|
return ""
|
||||||
try:
|
try:
|
||||||
# Convert the string to a list using ast.literal_eval
|
# Convert the string to a list using ast.literal_eval
|
||||||
list_obj = ast.literal_eval(list_str)
|
list_obj = ast.literal_eval(list_str)
|
||||||
if len(list_obj) == 1:
|
if len(list_obj) == 1:
|
||||||
return list_obj[0]
|
return list_obj[0]
|
||||||
return list_obj
|
return ", ".join(list_obj)
|
||||||
except (ValueError, SyntaxError):
|
except (ValueError, SyntaxError):
|
||||||
return list_str
|
return list_str
|
||||||
|
|
||||||
|
|||||||
@@ -25,10 +25,11 @@ class TestPostprocessFunctions(unittest.TestCase):
|
|||||||
self.assertEqual(normalize_indicator_field(None), "N")
|
self.assertEqual(normalize_indicator_field(None), "N")
|
||||||
|
|
||||||
def test_format_rate_fields_with_commas(self):
|
def test_format_rate_fields_with_commas(self):
|
||||||
|
# Test numeric values
|
||||||
self.assertEqual(format_rate_fields_with_commas("1234.567"), "1,234.57")
|
self.assertEqual(format_rate_fields_with_commas("1234.567"), "1,234.57")
|
||||||
self.assertEqual(format_rate_fields_with_commas("1000"), "1,000.00")
|
self.assertEqual(format_rate_fields_with_commas("1000"), "1,000.00")
|
||||||
self.assertEqual(format_rate_fields_with_commas("abc"), "0.00")
|
self.assertEqual(format_rate_fields_with_commas(1234.567), "1,234.57")
|
||||||
self.assertEqual(format_rate_fields_with_commas(None), "0.00")
|
self.assertEqual(format_rate_fields_with_commas(1000), "1,000.00")
|
||||||
|
|
||||||
def test_remove_hyphens(self):
|
def test_remove_hyphens(self):
|
||||||
self.assertEqual(remove_hyphens("123-45-6789"), "123456789")
|
self.assertEqual(remove_hyphens("123-45-6789"), "123456789")
|
||||||
@@ -38,9 +39,9 @@ class TestPostprocessFunctions(unittest.TestCase):
|
|||||||
|
|
||||||
def test_flatten_singleton_string_list(self):
|
def test_flatten_singleton_string_list(self):
|
||||||
self.assertEqual(flatten_singleton_string_list("['123']"), "123")
|
self.assertEqual(flatten_singleton_string_list("['123']"), "123")
|
||||||
self.assertEqual(flatten_singleton_string_list("['123', '456']"), ['123', '456'])
|
self.assertEqual(flatten_singleton_string_list("['123', '456']"), "123, 456")
|
||||||
self.assertEqual(flatten_singleton_string_list("invalid"), "invalid")
|
self.assertEqual(flatten_singleton_string_list("invalid"), "invalid")
|
||||||
self.assertEqual(flatten_singleton_string_list(None), None)
|
self.assertEqual(flatten_singleton_string_list(None), "")
|
||||||
|
|
||||||
|
|
||||||
@patch("src.utils.llm_utils.invoke_claude")
|
@patch("src.utils.llm_utils.invoke_claude")
|
||||||
|
|||||||
Reference in New Issue
Block a user