Skip to content

Commit e6129fe

Browse files
committed
fix test for 2027
1 parent 7e10d07 commit e6129fe

2 files changed

Lines changed: 85 additions & 83 deletions

File tree

subprojects/robotpy-wpilib/tests/test_addressable_led_buffer.py

Lines changed: 29 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@
44

55
import pytest
66

7-
from wpilib import AddressableLEDBuffer, Color, Color8Bit
7+
from wpilib import AddressableLEDBuffer
8+
from wpiutil import Color, Color8Bit
89

910
AddressableLEDBufferView = AddressableLEDBuffer.View
1011

@@ -45,19 +46,19 @@ def test_hsv_convert(self, h, s, v, r, g, b):
4546
def test_get_color(self):
4647
"""Test getting colors from buffer"""
4748
buffer = AddressableLEDBuffer(4)
48-
denim_color_8bit = Color8Bit(Color.kDenim)
49-
first_blue_color_8bit = Color8Bit(Color.kFirstBlue)
50-
first_red_color_8bit = Color8Bit(Color.kFirstRed)
49+
denim_color_8bit = Color8Bit(Color.DENIM)
50+
first_blue_color_8bit = Color8Bit(Color.FIRST_BLUE)
51+
first_red_color_8bit = Color8Bit(Color.FIRST_RED)
5152

52-
buffer.setLED(0, Color.kFirstBlue)
53+
buffer.setLED(0, Color.FIRST_BLUE)
5354
buffer.setLED(1, denim_color_8bit)
54-
buffer.setLED(2, Color.kFirstRed)
55-
buffer.setLED(3, Color.kFirstBlue)
55+
buffer.setLED(2, Color.FIRST_RED)
56+
buffer.setLED(3, Color.FIRST_BLUE)
5657

57-
assert buffer.getLED(0) == Color.kFirstBlue
58-
assert buffer.getLED(1) == Color.kDenim
59-
assert buffer.getLED(2) == Color.kFirstRed
60-
assert buffer.getLED(3) == Color.kFirstBlue
58+
assert buffer.getLED(0) == Color.FIRST_BLUE
59+
assert buffer.getLED(1) == Color.DENIM
60+
assert buffer.getLED(2) == Color.FIRST_RED
61+
assert buffer.getLED(3) == Color.FIRST_BLUE
6162
assert buffer.getLED8Bit(0) == first_blue_color_8bit
6263
assert buffer.getLED8Bit(1) == denim_color_8bit
6364
assert buffer.getLED8Bit(2) == first_red_color_8bit
@@ -111,7 +112,7 @@ def test_single_led(self):
111112
"""Test setting a single LED through a view"""
112113
buffer = AddressableLEDBuffer(10)
113114
view = buffer[5:6]
114-
color = Color.kAqua
115+
color = Color.AQUA
115116
view.setLED(0, color)
116117
assert buffer.getLED(5) == color
117118
assert view.getLED(0) == color
@@ -120,11 +121,11 @@ def test_segment(self):
120121
"""Test segment view"""
121122
buffer = AddressableLEDBuffer(10)
122123
view = buffer[2:9]
123-
view.setLED(0, Color.kAqua)
124-
assert buffer.getLED(2) == Color.kAqua
124+
view.setLED(0, Color.AQUA)
125+
assert buffer.getLED(2) == Color.AQUA
125126

126-
view.setLED(6, Color.kAzure)
127-
assert buffer.getLED(8) == Color.kAzure
127+
view.setLED(6, Color.AZURE)
128+
assert buffer.getLED(8) == Color.AZURE
128129

129130
@pytest.mark.skip("reversed views are not implemented")
130131
def test_manual_reversed(self):
@@ -133,31 +134,31 @@ def test_manual_reversed(self):
133134
view = buffer[8:1:-1]
134135

135136
# LED 0 in the view should write to LED 8 on the real buffer
136-
view.setLED(0, Color.kAqua)
137-
assert buffer.getLED(8) == Color.kAqua
137+
view.setLED(0, Color.AQUA)
138+
assert buffer.getLED(8) == Color.AQUA
138139

139140
# LED 6 in the view should write to LED 2 on the real buffer
140-
view.setLED(6, Color.kAzure)
141-
assert buffer.getLED(2) == Color.kAzure
141+
view.setLED(6, Color.AZURE)
142+
assert buffer.getLED(2) == Color.AZURE
142143

143144
@pytest.mark.skip("reversed views are not implemented")
144145
def test_full_manual_reversed(self):
145146
"""Test full manual reversed view"""
146147
buffer = AddressableLEDBuffer(10)
147148
view = buffer[9::-1]
148-
view.setLED(0, Color.kWhite)
149-
assert buffer.getLED(9) == Color.kWhite
149+
view.setLED(0, Color.WHITE)
150+
assert buffer.getLED(9) == Color.WHITE
150151

151-
buffer.setLED(8, Color.kRed)
152-
assert view.getLED(1) == Color.kRed
152+
buffer.setLED(8, Color.RED)
153+
assert view.getLED(1) == Color.RED
153154

154155
@pytest.mark.skip("reversed views are not implemented")
155156
def test_reversed(self):
156157
"""Test reversed view"""
157158
buffer = AddressableLEDBuffer(10)
158159
view = buffer[:].reversed()
159-
view.setLED(0, Color.kWhite)
160-
assert buffer.getLED(9) == Color.kWhite
160+
view.setLED(0, Color.WHITE)
161+
assert buffer.getLED(9) == Color.WHITE
161162

162-
view.setLED(9, Color.kRed)
163-
assert buffer.getLED(0) == Color.kRed
163+
view.setLED(9, Color.RED)
164+
assert buffer.getLED(0) == Color.RED

subprojects/robotpy-wpilib/tests/test_led_pattern.py

Lines changed: 56 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@
77
import pytest
88
import 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

1314
def lerp_rgb(a: Color, b: Color, t: float) -> Color8Bit:
@@ -29,34 +30,34 @@ def restore_time_source():
2930

3031
def 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

3839
def 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

5051
def 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

5859
def 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

7172
def 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

8081
def 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

9495
def 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

106107
def 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

118119
def 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

127128
def 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

138139
def make_grayscale_pattern():
@@ -200,35 +201,35 @@ def test_rainbow_odd_size():
200201

201202
def 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

210211
def 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

220221
def 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
)
234235
def 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()")
244245
def 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

255256
def 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()")
273274
def 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

290291
def 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

297298
def 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

311312
def 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

318319
def 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

Comments
 (0)