diff --git a/src/helpers.py b/src/helpers.py index 22ee8a9..c204d12 100644 --- a/src/helpers.py +++ b/src/helpers.py @@ -6,8 +6,6 @@ def next_smaller(lst): last_item = None i = 0 for index, item in enumerate(lst): - if item == 0: - break if last_item is None or (item >= last_item and index == i): last_item = item i += 1 @@ -15,11 +13,23 @@ def next_smaller(lst): def valid_pka_values(values): + """ + This function filters possible pKa values for the app web page. + It's perfectly fine negative pKa values and non-sorted values in real life + but is not so usual. Then, for educational purposes, it was decided to + create this filter. + + Parameters + ---------- + values : tuple + + Returns + ------- + list + + """ values = list(values) - result = [] - if values[0] == 0: - pass - elif is_sorted(values): + if is_sorted(values): result = values else: result = list(next_smaller(values)) diff --git a/tests/test_valid_pka_values.py b/tests/test_valid_pka_values.py index 958fb0a..44ae70e 100644 --- a/tests/test_valid_pka_values.py +++ b/tests/test_valid_pka_values.py @@ -1,8 +1,8 @@ from src.helpers import valid_pka_values -def test_three_inputs_no_pka(): - assert valid_pka_values((0, 0, 0)) == [] +def test_three_zero_inputs_three_pka(): + assert valid_pka_values((0, 0, 0)) == [0, 0, 0] def test_three_inputs_one_pka(): @@ -21,14 +21,18 @@ def test_three_inputs_equal(): assert valid_pka_values((1, 1, 1)) == [1, 1, 1] -def test_four_inputs_no_pka(): - assert valid_pka_values((0, 0, 0, 0)) == [] +def test_four_zero_inputs_four_pka(): + assert valid_pka_values((0, 0, 0, 0)) == [0, 0, 0, 0] def test_three_inputs_sorted(): assert valid_pka_values((1, 2, 3)) == [1, 2, 3] +def test_three_inputs_sorted_first_zero(): + assert valid_pka_values((0, 2, 3)) == [0, 2, 3] + + def test_three_inputs_sorted_two_equal(): assert valid_pka_values((1, 2, 2)) == [1, 2, 2]