77import pytest
88import wpimath .units as units
99
10- from wpilib import AddressableLEDBuffer , Color , Color8Bit , LEDPattern , RobotController
10+ from wpilib import AddressableLEDBuffer , LEDPattern , RobotController
11+ from wpiutil import Color , Color8Bit
1112
1213
1314def lerp_rgb (a : Color , b : Color , t : float ) -> Color8Bit :
@@ -29,34 +30,34 @@ def restore_time_source():
2930
3031def test_apply_to_buffer_direct ():
3132 buffer = AddressableLEDBuffer (4 )
32- LEDPattern .solid (Color .kYellow ).applyTo (buffer )
33+ LEDPattern .solid (Color .YELLOW ).applyTo (buffer )
3334
3435 for i in range (len (buffer )):
35- assert buffer .getLED8Bit (i ) == Color8Bit (Color .kYellow )
36+ assert buffer .getLED8Bit (i ) == Color8Bit (Color .YELLOW )
3637
3738
3839def test_apply_to_view_direct ():
3940 buffer = AddressableLEDBuffer (6 )
4041 view = buffer [2 :5 ]
41- LEDPattern .solid (Color .kAqua ).applyTo (view )
42+ LEDPattern .solid (Color .AQUA ).applyTo (view )
4243
43- assert buffer .getLED8Bit (1 ) == Color8Bit (Color .kBlack )
44- assert buffer .getLED8Bit (2 ) == Color8Bit (Color .kAqua )
45- assert buffer .getLED8Bit (3 ) == Color8Bit (Color .kAqua )
46- assert buffer .getLED8Bit (4 ) == Color8Bit (Color .kAqua )
47- assert buffer .getLED8Bit (5 ) == Color8Bit (Color .kBlack )
44+ assert buffer .getLED8Bit (1 ) == Color8Bit (Color .BLACK )
45+ assert buffer .getLED8Bit (2 ) == Color8Bit (Color .AQUA )
46+ assert buffer .getLED8Bit (3 ) == Color8Bit (Color .AQUA )
47+ assert buffer .getLED8Bit (4 ) == Color8Bit (Color .AQUA )
48+ assert buffer .getLED8Bit (5 ) == Color8Bit (Color .BLACK )
4849
4950
5051def test_solid_color ():
5152 buffer = AddressableLEDBuffer (99 )
52- LEDPattern .solid (Color .kYellow ).applyTo (buffer )
53+ LEDPattern .solid (Color .YELLOW ).applyTo (buffer )
5354
5455 for i in range (len (buffer )):
55- assert buffer .getLED8Bit (i ) == Color8Bit (Color .kYellow )
56+ assert buffer .getLED8Bit (i ) == Color8Bit (Color .YELLOW )
5657
5758
5859def test_gradient_0_sets_to_black ():
59- pattern = LEDPattern .gradient (LEDPattern .GradientType .kContinuous , [])
60+ pattern = LEDPattern .gradient (LEDPattern .GradientType .CONTINUOUS , [])
6061 buffer = AddressableLEDBuffer (99 )
6162
6263 for i in range (len (buffer )):
@@ -65,42 +66,42 @@ def test_gradient_0_sets_to_black():
6566 pattern .applyTo (buffer )
6667
6768 for i in range (len (buffer )):
68- assert buffer .getLED8Bit (i ) == Color8Bit (Color .kBlack )
69+ assert buffer .getLED8Bit (i ) == Color8Bit (Color .BLACK )
6970
7071
7172def test_gradient_1_sets_to_solid ():
72- pattern = LEDPattern .gradient (LEDPattern .GradientType .kContinuous , [Color .kYellow ])
73+ pattern = LEDPattern .gradient (LEDPattern .GradientType .CONTINUOUS , [Color .YELLOW ])
7374 buffer = AddressableLEDBuffer (99 )
7475 pattern .applyTo (buffer )
7576
7677 for i in range (len (buffer )):
77- assert buffer .getLED8Bit (i ) == Color8Bit (Color .kYellow )
78+ assert buffer .getLED8Bit (i ) == Color8Bit (Color .YELLOW )
7879
7980
8081def test_continuous_gradient_2_colors ():
8182 pattern = LEDPattern .gradient (
82- LEDPattern .GradientType .kContinuous , [Color .kYellow , Color .kPurple ]
83+ LEDPattern .GradientType .CONTINUOUS , [Color .YELLOW , Color .PURPLE ]
8384 )
8485 buffer = AddressableLEDBuffer (99 )
8586 pattern .applyTo (buffer )
8687
87- assert buffer .getLED8Bit (0 ) == Color8Bit (Color .kYellow )
88- assert buffer .getLED8Bit (25 ) == lerp_rgb (Color .kYellow , Color .kPurple , 25 / 49.0 )
89- assert buffer .getLED8Bit (49 ) == Color8Bit (Color .kPurple )
90- assert buffer .getLED8Bit (73 ) == lerp_rgb (Color .kYellow , Color .kPurple , 25 / 49.0 )
91- assert buffer .getLED8Bit (98 ) == Color8Bit (Color .kYellow )
88+ assert buffer .getLED8Bit (0 ) == Color8Bit (Color .YELLOW )
89+ assert buffer .getLED8Bit (25 ) == lerp_rgb (Color .YELLOW , Color .PURPLE , 25 / 49.0 )
90+ assert buffer .getLED8Bit (49 ) == Color8Bit (Color .PURPLE )
91+ assert buffer .getLED8Bit (73 ) == lerp_rgb (Color .YELLOW , Color .PURPLE , 25 / 49.0 )
92+ assert buffer .getLED8Bit (98 ) == Color8Bit (Color .YELLOW )
9293
9394
9495def test_discontinuous_gradient_2_colors ():
9596 pattern = LEDPattern .gradient (
96- LEDPattern .GradientType .kDiscontinuous , [Color .kYellow , Color .kPurple ]
97+ LEDPattern .GradientType .DISCONTINUOUS , [Color .YELLOW , Color .PURPLE ]
9798 )
9899 buffer = AddressableLEDBuffer (99 )
99100 pattern .applyTo (buffer )
100101
101- assert buffer .getLED8Bit (0 ) == Color8Bit (Color .kYellow )
102- assert buffer .getLED8Bit (49 ) == lerp_rgb (Color .kYellow , Color .kPurple , 0.5 )
103- assert buffer .getLED8Bit (98 ) == Color8Bit (Color .kPurple )
102+ assert buffer .getLED8Bit (0 ) == Color8Bit (Color .YELLOW )
103+ assert buffer .getLED8Bit (49 ) == lerp_rgb (Color .YELLOW , Color .PURPLE , 0.5 )
104+ assert buffer .getLED8Bit (98 ) == Color8Bit (Color .PURPLE )
104105
105106
106107def test_step_0_sets_to_black ():
@@ -112,27 +113,27 @@ def test_step_0_sets_to_black():
112113 pattern .applyTo (buffer )
113114
114115 for i in range (len (buffer )):
115- assert buffer .getLED8Bit (i ) == Color8Bit (Color .kBlack )
116+ assert buffer .getLED8Bit (i ) == Color8Bit (Color .BLACK )
116117
117118
118119def test_step_1_sets_to_solid ():
119- pattern = LEDPattern .steps ([(0.0 , Color .kYellow )])
120+ pattern = LEDPattern .steps ([(0.0 , Color .YELLOW )])
120121 buffer = AddressableLEDBuffer (99 )
121122 pattern .applyTo (buffer )
122123
123124 for i in range (len (buffer )):
124- assert buffer .getLED8Bit (i ) == Color8Bit (Color .kYellow )
125+ assert buffer .getLED8Bit (i ) == Color8Bit (Color .YELLOW )
125126
126127
127128def test_step_half_sets_to_half_off_half_color ():
128- pattern = LEDPattern .steps ([(0.5 , Color .kYellow )])
129+ pattern = LEDPattern .steps ([(0.5 , Color .YELLOW )])
129130 buffer = AddressableLEDBuffer (99 )
130131 pattern .applyTo (buffer )
131132
132133 for i in range (49 ):
133- assert buffer .getLED8Bit (i ) == Color8Bit (Color .kBlack )
134+ assert buffer .getLED8Bit (i ) == Color8Bit (Color .BLACK )
134135 for i in range (49 , len (buffer )):
135- assert buffer .getLED8Bit (i ) == Color8Bit (Color .kYellow )
136+ assert buffer .getLED8Bit (i ) == Color8Bit (Color .YELLOW )
136137
137138
138139def make_grayscale_pattern ():
@@ -200,35 +201,35 @@ def test_rainbow_odd_size():
200201
201202def test_reverse_solid ():
202203 buffer = AddressableLEDBuffer (90 )
203- pattern = LEDPattern .solid (Color .kRosyBrown ).reversed ()
204+ pattern = LEDPattern .solid (Color .ROSY_BROWN ).reversed ()
204205 pattern .applyTo (buffer )
205206
206207 for led in range (len (buffer )):
207- assert buffer .getLED8Bit (led ) == Color8Bit (Color .kRosyBrown )
208+ assert buffer .getLED8Bit (led ) == Color8Bit (Color .ROSY_BROWN )
208209
209210
210211def test_reverse_steps ():
211212 buffer = AddressableLEDBuffer (100 )
212- pattern = LEDPattern .steps ([(0.0 , Color .kWhite ), (0.5 , Color .kYellow )]).reversed ()
213+ pattern = LEDPattern .steps ([(0.0 , Color .WHITE ), (0.5 , Color .YELLOW )]).reversed ()
213214 pattern .applyTo (buffer )
214215
215216 for led in range (len (buffer )):
216- expected = Color8Bit (Color .kYellow if led < 50 else Color .kWhite )
217+ expected = Color8Bit (Color .YELLOW if led < 50 else Color .WHITE )
217218 assert buffer .getLED8Bit (led ) == expected
218219
219220
220221def white_yellow_purple (reader , writer ):
221- colors = [Color .kWhite , Color .kYellow , Color .kPurple ]
222+ colors = [Color .WHITE , Color .YELLOW , Color .PURPLE ]
222223 for led in range (reader .size ()):
223224 writer (led , colors [led % 3 ])
224225
225226
226227@pytest .mark .parametrize (
227228 "offset,expected" ,
228229 [
229- (1 , [Color .kPurple , Color .kWhite , Color .kYellow ]),
230- (- 1 , [Color .kYellow , Color .kPurple , Color .kWhite ]),
231- (0 , [Color .kWhite , Color .kYellow , Color .kPurple ]),
230+ (1 , [Color .PURPLE , Color .WHITE , Color .YELLOW ]),
231+ (- 1 , [Color .YELLOW , Color .PURPLE , Color .WHITE ]),
232+ (0 , [Color .WHITE , Color .YELLOW , Color .PURPLE ]),
232233 ],
233234)
234235def test_offset_pattern (offset , expected ):
@@ -242,56 +243,56 @@ def test_offset_pattern(offset, expected):
242243
243244@pytest .mark .skip (reason = "Python bindings do not expose a way to mock wpi::util::Now()" )
244245def test_blink_symmetric ():
245- pattern = LEDPattern .solid (Color .kWhite ).blink (units .seconds (2 ))
246+ pattern = LEDPattern .solid (Color .WHITE ).blink (units .seconds (2 ))
246247 buffer = AddressableLEDBuffer (1 )
247248
248249 for t in range (8 ):
249250 RobotController .setTimeSource (lambda tick = t : tick * 1_000_000 )
250251 pattern .applyTo (buffer )
251- expected = Color8Bit (Color .kWhite if t % 4 < 2 else Color .kBlack )
252+ expected = Color8Bit (Color .WHITE if t % 4 < 2 else Color .BLACK )
252253 assert buffer .getLED8Bit (0 ) == expected
253254
254255
255256def test_blink_in_sync ():
256257 state = {"on" : False }
257- pattern = LEDPattern .solid (Color .kWhite ).synchronizedBlink (lambda : state ["on" ])
258+ pattern = LEDPattern .solid (Color .WHITE ).synchronizedBlink (lambda : state ["on" ])
258259 buffer = AddressableLEDBuffer (1 )
259260
260261 pattern .applyTo (buffer )
261- assert buffer .getLED8Bit (0 ) == Color8Bit (Color .kBlack )
262+ assert buffer .getLED8Bit (0 ) == Color8Bit (Color .BLACK )
262263
263264 state ["on" ] = True
264265 pattern .applyTo (buffer )
265- assert buffer .getLED8Bit (0 ) == Color8Bit (Color .kWhite )
266+ assert buffer .getLED8Bit (0 ) == Color8Bit (Color .WHITE )
266267
267268 state ["on" ] = False
268269 pattern .applyTo (buffer )
269- assert buffer .getLED8Bit (0 ) == Color8Bit (Color .kBlack )
270+ assert buffer .getLED8Bit (0 ) == Color8Bit (Color .BLACK )
270271
271272
272273@pytest .mark .skip (reason = "Python bindings do not expose a way to mock wpi::util::Now()" )
273274def test_breathe ():
274- pattern = LEDPattern .solid (Color .kWhite ).breathe (units .microseconds (4 ))
275+ pattern = LEDPattern .solid (Color .WHITE ).breathe (units .microseconds (4 ))
275276 buffer = AddressableLEDBuffer (1 )
276277
277278 RobotController .setTimeSource (lambda : 0 )
278279 pattern .applyTo (buffer )
279- assert buffer .getLED8Bit (0 ) == Color8Bit (Color .kWhite )
280+ assert buffer .getLED8Bit (0 ) == Color8Bit (Color .WHITE )
280281
281282 RobotController .setTimeSource (lambda : 1 )
282283 pattern .applyTo (buffer )
283284 assert buffer .getLED8Bit (0 ) == Color8Bit (Color (0.5 , 0.5 , 0.5 ))
284285
285286 RobotController .setTimeSource (lambda : 2 )
286287 pattern .applyTo (buffer )
287- assert buffer .getLED8Bit (0 ) == Color8Bit (Color .kBlack )
288+ assert buffer .getLED8Bit (0 ) == Color8Bit (Color .BLACK )
288289
289290
290291def test_overlay_solid_on_solid ():
291- overlay = LEDPattern .solid (Color .kYellow ).overlayOn (LEDPattern .solid (Color .kWhite ))
292+ overlay = LEDPattern .solid (Color .YELLOW ).overlayOn (LEDPattern .solid (Color .WHITE ))
292293 buffer = AddressableLEDBuffer (1 )
293294 overlay .applyTo (buffer )
294- assert buffer .getLED8Bit (0 ) == Color8Bit (Color .kYellow )
295+ assert buffer .getLED8Bit (0 ) == Color8Bit (Color .YELLOW )
295296
296297
297298def test_progress_mask_layer ():
@@ -303,26 +304,26 @@ def test_progress_mask_layer():
303304 pattern .applyTo (buffer )
304305
305306 for i in range (3 ):
306- assert buffer .getLED8Bit (i ) == Color8Bit (Color .kWhite )
307+ assert buffer .getLED8Bit (i ) == Color8Bit (Color .WHITE )
307308 for i in range (3 , 10 ):
308- assert buffer .getLED8Bit (i ) == Color8Bit (Color .kBlack )
309+ assert buffer .getLED8Bit (i ) == Color8Bit (Color .BLACK )
309310
310311
311312def test_blend ():
312- pattern = LEDPattern .solid (Color .kBlue ).blend (LEDPattern .solid (Color .kRed ))
313+ pattern = LEDPattern .solid (Color .BLUE ).blend (LEDPattern .solid (Color .RED ))
313314 buffer = AddressableLEDBuffer (1 )
314315 pattern .applyTo (buffer )
315316 assert buffer .getLED8Bit (0 ) == Color8Bit (Color (127 , 0 , 127 ))
316317
317318
318319def test_binary_mask ():
319320 base = LEDPattern .solid (Color (123 , 123 , 123 ))
320- mask = LEDPattern .steps ([(0.0 , Color .kWhite ), (0.5 , Color .kBlack )])
321+ mask = LEDPattern .steps ([(0.0 , Color .WHITE ), (0.5 , Color .BLACK )])
321322 pattern = base .mask (mask )
322323 buffer = AddressableLEDBuffer (4 )
323324 pattern .applyTo (buffer )
324325
325326 for i in range (2 ):
326327 assert buffer .getLED8Bit (i ) == Color8Bit (Color (123 , 123 , 123 ))
327328 for i in range (2 , 4 ):
328- assert buffer .getLED8Bit (i ) == Color8Bit (Color .kBlack )
329+ assert buffer .getLED8Bit (i ) == Color8Bit (Color .BLACK )
0 commit comments