Skip to content

Commit 975a5fc

Browse files
committed
Merge branch 'develop' into bugfix/fix-single-smooth
2 parents ec06eba + f9303c1 commit 975a5fc

File tree

6 files changed

+33
-23
lines changed

6 files changed

+33
-23
lines changed

tests/conftest.py

Whitespace-only changes.

tests/tendencies/periodic/test_periodic_base.py

Lines changed: 11 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import pytest
55
from pytest import approx
66

7+
from tests.utils import filter_kwargs
78
from waveform_editor.tendencies.constant import ConstantTendency
89
from waveform_editor.tendencies.periodic.periodic_base import PeriodicBaseTendency
910

@@ -56,13 +57,11 @@ def test_bounds(
5657
"""
5758
Test the base, amplitude, minimum and maximum values of the periodic base tendency
5859
"""
59-
tendency = PeriodicBaseTendency(
60-
user_duration=1,
61-
user_base=base,
62-
user_amplitude=amplitude,
63-
user_min=min,
64-
user_max=max,
60+
kwargs = filter_kwargs(
61+
user_base=base, user_amplitude=amplitude, user_min=min, user_max=max
6562
)
63+
64+
tendency = PeriodicBaseTendency(user_duration=1, **kwargs)
6665
if has_error:
6766
assert tendency.annotations
6867
else:
@@ -104,13 +103,10 @@ def test_bounds_prev(
104103
when the tendency has a previous tendency.
105104
"""
106105
prev_tendency = ConstantTendency(user_start=0, user_duration=1, user_value=8)
107-
tendency = PeriodicBaseTendency(
108-
user_duration=1,
109-
user_base=base,
110-
user_amplitude=amplitude,
111-
user_min=min,
112-
user_max=max,
106+
kwargs = filter_kwargs(
107+
user_base=base, user_amplitude=amplitude, user_min=min, user_max=max
113108
)
109+
tendency = PeriodicBaseTendency(user_duration=1, **kwargs)
114110
if has_error:
115111
assert tendency.annotations
116112
else:
@@ -151,13 +147,10 @@ def test_bounds_next(
151147
when the tendency has a next tendency.
152148
"""
153149
next_tendency = ConstantTendency(user_duration=1, user_value=8)
154-
tendency = PeriodicBaseTendency(
155-
user_duration=1,
156-
user_base=base,
157-
user_amplitude=amplitude,
158-
user_min=min,
159-
user_max=max,
150+
kwargs = filter_kwargs(
151+
user_base=base, user_amplitude=amplitude, user_min=min, user_max=max
160152
)
153+
tendency = PeriodicBaseTendency(user_duration=1, **kwargs)
161154
tendency.set_next_tendency(next_tendency)
162155
assert tendency.base == approx(expected_base)
163156
assert not tendency.annotations

tests/tendencies/test_base.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import pytest
22
from pytest import approx
33

4+
from tests.utils import filter_kwargs
45
from waveform_editor.tendencies.base import BaseTendency
56

67

@@ -31,7 +32,7 @@ def test_first_base_tendency(
3132
has_error,
3233
):
3334
"""Test validity of the created base tendency when it is the first tendency."""
34-
kwargs = dict(user_start=start, user_duration=duration, user_end=end)
35+
kwargs = filter_kwargs(user_start=start, user_duration=duration, user_end=end)
3536
base_tendency = BaseTendency(**kwargs)
3637

3738
assert base_tendency.start == approx(expected_start)
@@ -71,7 +72,7 @@ def test_second_base_tendency(
7172
):
7273
"""Test validity of the created base tendency when it is the second tendency."""
7374
prev_tendency = BaseTendency(user_start=0, user_end=10)
74-
kwargs = dict(user_start=start, user_duration=duration, user_end=end)
75+
kwargs = filter_kwargs(user_start=start, user_duration=duration, user_end=end)
7576
base_tendency = BaseTendency(**kwargs)
7677
base_tendency.set_previous_tendency(prev_tendency)
7778
prev_tendency.set_next_tendency(base_tendency)

tests/tendencies/test_linear.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
import pytest
33
from pytest import approx
44

5+
from tests.utils import filter_kwargs
56
from waveform_editor.tendencies.linear import LinearTendency
67

78

@@ -41,9 +42,11 @@ def test_linear_tendency(
4142
duration, from_, to, rate, expected_from, expected_to, expected_rate, has_error
4243
):
4344
"""Test values of filled tendency."""
44-
tendency = LinearTendency(
45+
kwargs = filter_kwargs(
4546
user_duration=duration, user_from=from_, user_to=to, user_rate=rate
4647
)
48+
49+
tendency = LinearTendency(**kwargs)
4750
if has_error:
4851
assert tendency.annotations
4952
else:
@@ -78,9 +81,10 @@ def test_linear_tendency_with_prev(
7881
):
7982
"""Test values of tendency that has a previous tendency."""
8083
prev_tendency = LinearTendency(user_duration=10, user_from=1, user_to=5)
81-
tendency = LinearTendency(
84+
kwargs = filter_kwargs(
8285
user_duration=duration, user_from=from_, user_to=to, user_rate=rate
8386
)
87+
tendency = LinearTendency(**kwargs)
8488
if has_error:
8589
assert tendency.annotations
8690
else:
@@ -118,9 +122,10 @@ def test_linear_tendency_with_next(
118122
next_tendency = LinearTendency(
119123
user_start=10, user_duration=10, user_from=5, user_to=10
120124
)
121-
tendency = LinearTendency(
125+
kwargs = filter_kwargs(
122126
user_duration=duration, user_from=from_, user_to=to, user_rate=rate
123127
)
128+
tendency = LinearTendency(**kwargs)
124129
if has_error:
125130
assert tendency.annotations
126131
else:

tests/utils.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
def filter_kwargs(**kwargs):
2+
"""Remove None values from keyword arguments."""
3+
return {k: v for k, v in kwargs.items() if v is not None}

waveform_editor/tendencies/base.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,14 @@ def __init__(self, **kwargs):
8787
super().__init__()
8888
with param.parameterized.batch_call_watchers(self):
8989
for param_name, value in kwargs.items():
90+
if value is None:
91+
self.annotations.add(
92+
self.line_number,
93+
f"The value of {param_name.replace('user_', '')!r} cannot be "
94+
"empty.\nIt will be set to its default value.\n",
95+
is_warning=True,
96+
)
97+
9098
if param_name not in self.param:
9199
unknown_kwargs.append(param_name.replace("user_", ""))
92100
continue

0 commit comments

Comments
 (0)