Skip to content

Commit 1081598

Browse files
committed
add tests
1 parent d31556f commit 1081598

File tree

2 files changed

+50
-3
lines changed

2 files changed

+50
-3
lines changed

src/compas/colors/colordict.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ class ColorDict(Data):
2424
2525
"""
2626

27-
keymap = {
27+
KEYMAP = {
2828
int: lambda x: str(x),
2929
tuple: lambda x: ",".join(map(str, sorted(x))),
3030
list: lambda x: ",".join(map(str, sorted(x))),
@@ -62,8 +62,8 @@ def default(self, default):
6262
self._default = default
6363

6464
def keymapper(self, key):
65-
if key.__class__ in self.keymap:
66-
return self.keymap[key.__class__](key)
65+
if key.__class__ in self.KEYMAP:
66+
return self.KEYMAP[key.__class__](key)
6767
return key
6868

6969
def __getitem__(self, key):
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
import pytest
2+
import json
3+
import compas
4+
5+
from compas.colors import Color
6+
from compas.colors import ColorDict
7+
8+
9+
def test_colordict():
10+
cd = ColorDict(Color.red())
11+
assert cd.default == Color.red()
12+
13+
cd = ColorDict((255, 0, 0))
14+
assert cd.default == Color.red()
15+
16+
cd = ColorDict((1.0, 0.0, 0.0))
17+
assert cd.default == Color.red()
18+
19+
20+
def test_colordict_keys():
21+
cd = ColorDict(Color.red())
22+
cd[1] = Color.blue()
23+
cd[(1, 0)] = Color.green()
24+
25+
assert cd[1] == Color.blue()
26+
assert cd["1"] == Color.blue()
27+
28+
assert cd[(1, 0)] == Color.green()
29+
assert cd["0,1"] == Color.green()
30+
31+
assert cd["1,0"] == Color.red()
32+
33+
34+
def test_colordict_json():
35+
cd1 = ColorDict(Color.red())
36+
cd1[1] = Color.blue()
37+
cd1[(1, 0)] = Color.green()
38+
39+
cd2: ColorDict = compas.json_loads(compas.json_dumps(cd1)) # type: ignore
40+
41+
assert cd2[1] == Color.blue()
42+
assert cd2["1"] == Color.blue()
43+
44+
assert cd2[(1, 0)] == Color.green()
45+
assert cd2["0,1"] == Color.green()
46+
47+
assert cd2["1,0"] == Color.red()

0 commit comments

Comments
 (0)