@@ -22,6 +22,9 @@ def assert_hexa_equal(actual: hexa, expected: str):
2222 assert str (actual ) == expected
2323
2424
25+ ################################################## rgba TESTS ##################################################
26+
27+
2528def test_rgba_return_values ():
2629 assert_rgba_equal (rgba (255 , 0 , 0 , 0.5 ), (255 , 0 , 0 , 0.5 ))
2730 assert_hsla_equal (rgba (255 , 0 , 0 , 0.5 ).to_hsla (), (0 , 100 , 50 , 0.5 ))
@@ -48,6 +51,41 @@ def test_rgba_return_values():
4851 assert_rgba_equal (rgba (255 , 0 , 0 , 0.5 ).complementary (), (0 , 255 , 255 , 0.5 ))
4952
5053
54+ def test_rgba_construction ():
55+ assert rgba (100 , 150 , 200 ).values () == (100 , 150 , 200 , None )
56+ assert rgba (100 , 150 , 200 , 0.5 ).values () == (100 , 150 , 200 , 0.5 )
57+ assert rgba (0 , 0 , 0 ).values () == (0 , 0 , 0 , None )
58+ assert rgba (255 , 255 , 255 ).values () == (255 , 255 , 255 , None )
59+ try :
60+ rgba (300 , 150 , 200 )
61+ assert False , "Should raise ValueError for invalid RGB values"
62+ except ValueError :
63+ pass
64+ try :
65+ rgba (100 , 150 , 200 , 2.0 )
66+ assert False , "Should raise ValueError for invalid alpha value"
67+ except ValueError :
68+ pass
69+
70+
71+ def test_rgba_dunder_methods ():
72+ assert len (rgba (100 , 150 , 200 )) == 3
73+ assert len (rgba (100 , 150 , 200 , 0.5 )) == 4
74+ color = rgba (100 , 150 , 200 , 0.5 )
75+ assert color [0 ] == 100
76+ assert color [1 ] == 150
77+ assert color [2 ] == 200
78+ assert color [3 ] == 0.5
79+ assert rgba (100 , 150 , 200 ) == rgba (100 , 150 , 200 )
80+ assert rgba (100 , 150 , 200 ) != rgba (200 , 100 , 150 )
81+ assert str (rgba (100 , 150 , 200 )) == "(100, 150, 200)"
82+ assert str (rgba (100 , 150 , 200 , 0.5 )) == "(100, 150, 200, 0.5)"
83+ assert repr (rgba (100 , 150 , 200 )).startswith ("rgba(" )
84+
85+
86+ ################################################## hsla TESTS ##################################################
87+
88+
5189def test_hsla_return_values ():
5290 assert_hsla_equal (hsla (0 , 100 , 50 , 0.5 ), (0 , 100 , 50 , 0.5 ))
5391 assert_rgba_equal (hsla (0 , 100 , 50 , 0.5 ).to_rgba (), (255 , 0 , 0 , 0.5 ))
@@ -74,6 +112,41 @@ def test_hsla_return_values():
74112 assert_hsla_equal (hsla (0 , 100 , 50 , 0.5 ).complementary (), (180 , 100 , 50 , 0.5 ))
75113
76114
115+ def test_hsla_construction ():
116+ assert hsla (210 , 50 , 60 ).values () == (210 , 50 , 60 , None )
117+ assert hsla (210 , 50 , 60 , 0.5 ).values () == (210 , 50 , 60 , 0.5 )
118+ assert hsla (0 , 0 , 0 ).values () == (0 , 0 , 0 , None )
119+ assert hsla (360 , 100 , 100 ).values () == (360 , 100 , 100 , None )
120+ try :
121+ hsla (361 , 50 , 60 )
122+ assert False , "Should raise ValueError for invalid hue value"
123+ except ValueError :
124+ pass
125+ try :
126+ hsla (210 , 101 , 60 )
127+ assert False , "Should raise ValueError for invalid saturation value"
128+ except ValueError :
129+ pass
130+
131+
132+ def test_hsla_dunder_methods ():
133+ assert len (hsla (210 , 50 , 60 )) == 3
134+ assert len (hsla (210 , 50 , 60 , 0.5 )) == 4
135+ color = hsla (210 , 50 , 60 , 0.5 )
136+ assert color [0 ] == 210
137+ assert color [1 ] == 50
138+ assert color [2 ] == 60
139+ assert color [3 ] == 0.5
140+ assert hsla (210 , 50 , 60 ) == hsla (210 , 50 , 60 )
141+ assert hsla (210 , 50 , 60 ) != hsla (210 , 60 , 50 )
142+ assert str (hsla (210 , 50 , 60 )) == "(210°, 50%, 60%)"
143+ assert str (hsla (210 , 50 , 60 , 0.5 )) == "(210°, 50%, 60%, 0.5)"
144+ assert repr (hsla (210 , 50 , 60 )).startswith ("hsla(" )
145+
146+
147+ ################################################## hexa TESTS ##################################################
148+
149+
77150def test_hexa_return_values ():
78151 assert_hexa_equal (hexa ("#F008" ), "#FF000088" )
79152 assert_rgba_equal (hexa ("#FF00007F" ).to_rgba (), (255 , 0 , 0 , 0.5 ))
@@ -100,40 +173,6 @@ def test_hexa_return_values():
100173 assert_hexa_equal (hexa ("#FF00007F" ).complementary (), "#00FFFF7F" )
101174
102175
103- def test_rgba_construction ():
104- assert rgba (100 , 150 , 200 ).values () == (100 , 150 , 200 , None )
105- assert rgba (100 , 150 , 200 , 0.5 ).values () == (100 , 150 , 200 , 0.5 )
106- assert rgba (0 , 0 , 0 ).values () == (0 , 0 , 0 , None )
107- assert rgba (255 , 255 , 255 ).values () == (255 , 255 , 255 , None )
108- try :
109- rgba (300 , 150 , 200 )
110- assert False , "Should raise ValueError for invalid RGB values"
111- except ValueError :
112- pass
113- try :
114- rgba (100 , 150 , 200 , 2.0 )
115- assert False , "Should raise ValueError for invalid alpha value"
116- except ValueError :
117- pass
118-
119-
120- def test_hsla_construction ():
121- assert hsla (210 , 50 , 60 ).values () == (210 , 50 , 60 , None )
122- assert hsla (210 , 50 , 60 , 0.5 ).values () == (210 , 50 , 60 , 0.5 )
123- assert hsla (0 , 0 , 0 ).values () == (0 , 0 , 0 , None )
124- assert hsla (360 , 100 , 100 ).values () == (360 , 100 , 100 , None )
125- try :
126- hsla (361 , 50 , 60 )
127- assert False , "Should raise ValueError for invalid hue value"
128- except ValueError :
129- pass
130- try :
131- hsla (210 , 101 , 60 )
132- assert False , "Should raise ValueError for invalid saturation value"
133- except ValueError :
134- pass
135-
136-
137176def test_hexa_construction ():
138177 assert hexa ("#F00" ).values () == (255 , 0 , 0 , None )
139178 assert hexa ("#F008" ).values (True ) == (255 , 0 , 0 , 0.53 )
@@ -153,36 +192,6 @@ def test_hexa_construction():
153192 pass
154193
155194
156- def test_rgba_dunder_methods ():
157- assert len (rgba (100 , 150 , 200 )) == 3
158- assert len (rgba (100 , 150 , 200 , 0.5 )) == 4
159- color = rgba (100 , 150 , 200 , 0.5 )
160- assert color [0 ] == 100
161- assert color [1 ] == 150
162- assert color [2 ] == 200
163- assert color [3 ] == 0.5
164- assert rgba (100 , 150 , 200 ) == rgba (100 , 150 , 200 )
165- assert rgba (100 , 150 , 200 ) != rgba (200 , 100 , 150 )
166- assert str (rgba (100 , 150 , 200 )) == "(100, 150, 200)"
167- assert str (rgba (100 , 150 , 200 , 0.5 )) == "(100, 150, 200, 0.5)"
168- assert repr (rgba (100 , 150 , 200 )).startswith ("rgba(" )
169-
170-
171- def test_hsla_dunder_methods ():
172- assert len (hsla (210 , 50 , 60 )) == 3
173- assert len (hsla (210 , 50 , 60 , 0.5 )) == 4
174- color = hsla (210 , 50 , 60 , 0.5 )
175- assert color [0 ] == 210
176- assert color [1 ] == 50
177- assert color [2 ] == 60
178- assert color [3 ] == 0.5
179- assert hsla (210 , 50 , 60 ) == hsla (210 , 50 , 60 )
180- assert hsla (210 , 50 , 60 ) != hsla (210 , 60 , 50 )
181- assert str (hsla (210 , 50 , 60 )) == "(210°, 50%, 60%)"
182- assert str (hsla (210 , 50 , 60 , 0.5 )) == "(210°, 50%, 60%, 0.5)"
183- assert repr (hsla (210 , 50 , 60 )).startswith ("hsla(" )
184-
185-
186195def test_hexa_dunder_methods ():
187196 assert len (hexa ("#F00" )) == 3
188197 assert len (hexa ("#F008" )) == 4
0 commit comments