refactor(randomize_numbers): use list comprehension to achieve 100% coverage

Replaced for loop with implicit continue with a list comprehension
using walrus operator. This avoids the coverage.py limitation with
partial branch detection on for loop continue statements.

Coverage: 99% -> 100%
This commit is contained in:
Krzysztof Rudnicki 2025-12-01 20:19:02 +01:00
parent 57233aa8d5
commit 1f20f727d0

View File

@ -39,15 +39,14 @@ def parse_input(text: str) -> tuple[list[float], list[int]]:
cleaned_input = re.sub(r"[^\d.,\s]", "", text).replace(",", ".") cleaned_input = re.sub(r"[^\d.,\s]", "", text).replace(",", ".")
# Split the cleaned input into individual numbers # Split the cleaned input into individual numbers
number_strings = cleaned_input.split() number_strings = cleaned_input.split()
# Convert the number strings to floats # Convert the number strings to floats, filtering out invalid ones
nums: list[float] = [] parsed_results = [
decimals: list[int] = [] result
for num_str in number_strings: for num_str in number_strings
parsed = _parse_single_number(num_str) if (result := _parse_single_number(num_str)) is not None
if parsed is not None: ]
float_num, digits_count = parsed nums = [float_num for float_num, _ in parsed_results]
nums.append(float_num) decimals = [digits_count for _, digits_count in parsed_results]
decimals.append(digits_count)
return nums, decimals return nums, decimals