1010
1111def test ():
1212 '''Test the basic working of `logic_max`.'''
13- assert logic_max (range (4 )) == 3
14- assert logic_max (set (range (5 ))) == 4
15- 1 / 0
13+ assert logic_max (range (4 )) == [3 ]
14+ assert logic_max (set (range (5 ))) == [4 ]
15+ assert logic_max (iter (range (6 ))) == [5 ]
16+ assert logic_max (tuple (range (10 ))) == [9 ]
17+
18+ class FunkyString (object ):
19+ def __init__ (self , string ):
20+ self .string = string
21+
22+ def __ge__ (self , other ):
23+ assert isinstance (other , FunkyString )
24+ return other .string in self .string
25+
26+ def __eq__ (self , other ):
27+ assert isinstance (other , FunkyString )
28+ return other .string == self .string
29+
30+ assert logic_max (
31+ [FunkyString ('meow' ),
32+ FunkyString ('meow frr' ),
33+ FunkyString ('ow' )]
34+ ) == [FunkyString ('meow frr' )]
35+
36+ assert logic_max (
37+ [FunkyString ('meow' ),
38+ FunkyString ('meow frr' ),
39+ FunkyString ('ow' ),
40+ FunkyString ('Stanislav' )]
41+ ) == []
42+
43+ assert logic_max (
44+ [FunkyString ('meow' ),
45+ FunkyString ('meow frr' ),
46+ FunkyString ('ow' ),
47+ FunkyString ('meow frr' )]
48+ ) == [FunkyString ('meow frr' ), FunkyString ('meow frr' ),]
49+
50+
51+ class FunkyInt (object ):
52+ def __init__ (self , number ):
53+ self .number = number
54+ def __ge__ (self , other ):
55+ return (10 <= self .number <= 20 )
56+
57+ assert logic_max (
58+ [FunkyInt (7 ),
59+ FunkyInt (13 ),
60+ FunkyInt (3 ),
61+ FunkyInt (18 ),
62+ FunkyInt (24 ),]
63+ ) == [FunkyInt (13 ), FunkyInt (18 )]
0 commit comments