|
2 | 2 |
|
3 | 3 |
|
4 | 4 | def describe_path(): |
5 | | - def add_path(): |
6 | | - path = Path(None, 0, None) |
7 | | - assert path.prev is None |
8 | | - assert path.key == 0 |
9 | | - prev, path = path, Path(path, 1, None) |
10 | | - assert path.prev is prev |
11 | | - assert path.key == 1 |
12 | | - prev, path = path, Path(path, "two", None) |
13 | | - assert path.prev is prev |
14 | | - assert path.key == "two" |
| 5 | + def can_create_a_path(): |
| 6 | + first = Path(None, 1, "First") |
| 7 | + assert first.prev is None |
| 8 | + assert first.key == 1 |
| 9 | + assert first.typename == "First" |
15 | 10 |
|
16 | | - def add_key(): |
17 | | - prev = Path(None, 0, None) |
18 | | - path = prev.add_key("one") |
19 | | - assert path.prev is prev |
20 | | - assert path.key == "one" |
| 11 | + def can_add_a_new_key_to_an_existing_path(): |
| 12 | + first = Path(None, 1, "First") |
| 13 | + second = first.add_key("two", "Second") |
| 14 | + assert second.prev is first |
| 15 | + assert second.key == "two" |
| 16 | + assert second.typename == "Second" |
21 | 17 |
|
22 | | - def as_list(): |
23 | | - path = Path(None, 1, None) |
24 | | - assert path.as_list() == [1] |
25 | | - path = path.add_key("two") |
26 | | - assert path.as_list() == [1, "two"] |
27 | | - path = path.add_key(3) |
28 | | - assert path.as_list() == [1, "two", 3] |
| 18 | + def can_convert_a_path_to_a_list_of_its_keys(): |
| 19 | + root = Path(None, 0, "Root") |
| 20 | + assert root.as_list() == [0] |
| 21 | + first = root.add_key("one", "First") |
| 22 | + assert first.as_list() == [0, "one"] |
| 23 | + second = first.add_key(2, "Second") |
| 24 | + assert second.as_list() == [0, "one", 2] |
0 commit comments