66from fuzzy import functions as fun
77
88class Test_Functions (TestCase ):
9- @given (st .floats (allow_nan = False , allow_infinity = False ))
9+ @given (st .floats (allow_nan = False ))
1010 def test_noop (self , x ):
1111 f = fun .noop ()
1212 assert f (x ) == x
@@ -19,15 +19,16 @@ def test_inv(self, x):
1919
2020 @given (st .floats (allow_nan = False , allow_infinity = False ),
2121 st .floats (allow_nan = False , allow_infinity = False ))
22- def test_constant (self , c , r ):
22+ def test_constant (self , x , c ):
2323 f = fun .constant (c )
24- assert f (r ) == c
24+ assert f (x ) == c
2525
2626
27- @given (st .floats (min_value = 0 , max_value = 1 ),
28- st .floats (min_value = 0 , max_value = 1 ),
29- st .floats (allow_nan = False ))
30- def test_alpha (self , lower , upper , x ):
27+ @given (st .floats (allow_nan = False ),
28+ st .floats (min_value = 0 , max_value = 1 ),
29+ st .floats (min_value = 0 , max_value = 1 ),
30+ )
31+ def test_alpha (self , x , lower , upper ):
3132 assume (lower < upper )
3233 f = fun .alpha (lower , upper , fun .noop ())
3334 if x <= lower :
@@ -37,22 +38,31 @@ def test_alpha(self, lower, upper, x):
3738 else :
3839 assert f (x ) == x
3940
40- @given (st .floats (),
41- st .floats (min_value = 0 , max_value = 1 ),
42- st .floats (min_value = 0 , max_value = 1 ),
41+ @given (st .floats (),
4342 st .floats (),
44-
45- )
46- def test_singleton (self , p , non_p_m , p_m , x ):
43+ st . floats ( min_value = 0 , max_value = 1 ),
44+ st . floats ( min_value = 0 , max_value = 1 ) )
45+ def test_singleton (self , x , p , non_p_m , p_m ):
4746 assume (0 <= non_p_m <= 1 )
4847 assume (0 <= p_m <= 1 )
4948 f = fun .singleton (p , non_p_m , p_m )
5049 assert f (x ) == (p_m if x == p else non_p_m )
5150
5251
53- @given (st .floats (allow_nan = False ),
54- st .floats (allow_nan = False ),
55- st .floats (allow_nan = False ))
56- def test_linear (self , m , b , x ):
52+ @given (st .floats (allow_nan = False , allow_infinity = False ),
53+ st .floats (allow_nan = False , allow_infinity = False ),
54+ st .floats (allow_nan = False , allow_infinity = False ))
55+ def test_linear (self , x , m , b ):
5756 f = fun .linear (m , b )
58- assert 0 <= f (x ) <= 1
57+ assert (0 <= f (x ) <= 1 )
58+
59+ @given (st .floats (allow_nan = False ),
60+ st .floats (allow_nan = False , allow_infinity = False ),
61+ st .floats (allow_nan = False , allow_infinity = False ),
62+ st .floats (min_value = 0 , max_value = 1 ),
63+ st .floats (min_value = 0 , max_value = 1 ))
64+ def test_bounded_linear (self , x , low_bound , high_bound , core_m , unsupported_m ):
65+ assume (low_bound < high_bound )
66+ assume (core_m != unsupported_m )
67+ f = fun .bounded_linear (low_bound , high_bound , core_m , unsupported_m )
68+ assert (0 <= f (x ) <= 1 )
0 commit comments