|
2 | 2 | from csp import * #noqa
|
3 | 3 |
|
4 | 4 |
|
| 5 | +def test_csp_assign(): |
| 6 | + var = 10 |
| 7 | + val = 5 |
| 8 | + assignment = {} |
| 9 | + australia.assign(var, val, assignment) |
| 10 | + |
| 11 | + assert australia.nassigns == 1 |
| 12 | + assert assignment[var] == val |
| 13 | + |
| 14 | + |
| 15 | +def test_csp_unassign(): |
| 16 | + var = 10 |
| 17 | + assignment = {var: 5} |
| 18 | + australia.unassign(var, assignment) |
| 19 | + |
| 20 | + assert var not in assignment |
| 21 | + |
| 22 | + |
| 23 | +def test_csp_nconflits(): |
| 24 | + map_coloring_test = MapColoringCSP(list('RGB'), 'A: B C; B: C; C: ') |
| 25 | + assignment = {'A': 'R', 'B': 'G'} |
| 26 | + var = 'C' |
| 27 | + val = 'R' |
| 28 | + assert map_coloring_test.nconflicts(var, val, assignment) == 1 |
| 29 | + |
| 30 | + val = 'B' |
| 31 | + assert map_coloring_test.nconflicts(var, val, assignment) == 0 |
| 32 | + |
| 33 | + |
| 34 | +def test_csp_actions(): |
| 35 | + map_coloring_test = MapColoringCSP(list('123'), 'A: B C; B: C; C: ') |
| 36 | + |
| 37 | + state = {'A': '1', 'B': '2', 'C': '3'} |
| 38 | + assert map_coloring_test.actions(state) == [] |
| 39 | + |
| 40 | + state = {'A': '1', 'B': '3'} |
| 41 | + assert map_coloring_test.actions(state) == [('C', '2')] |
| 42 | + |
| 43 | + state = {'A': '1', 'C': '2'} |
| 44 | + assert map_coloring_test.actions(state) == [('B', '3')] |
| 45 | + |
| 46 | + state = {'A': '1'} |
| 47 | + assert (map_coloring_test.actions(state) == [('C', '2'), ('C', '3')] or |
| 48 | + map_coloring_test.actions(state) == [('B', '2'), ('B', '3')]) |
| 49 | + |
| 50 | + |
5 | 51 | def test_backtracking_search():
|
6 |
| - assert (backtracking_search(australia) is not None) == True |
7 |
| - assert (backtracking_search(australia, select_unassigned_variable=mrv) is not None) == True |
8 |
| - assert (backtracking_search(australia, order_domain_values=lcv) is not None) == True |
9 |
| - assert (backtracking_search(australia, select_unassigned_variable=mrv, |
10 |
| - order_domain_values=lcv) is not None) == True |
11 |
| - assert (backtracking_search(australia, inference=forward_checking) is not None) == True |
12 |
| - assert (backtracking_search(australia, inference=mac) is not None) == True |
13 |
| - assert (backtracking_search(usa, select_unassigned_variable=mrv, |
14 |
| - order_domain_values=lcv, inference=mac) is not None) == True |
| 52 | + assert backtracking_search(australia) |
| 53 | + assert backtracking_search(australia, select_unassigned_variable=mrv) |
| 54 | + assert backtracking_search(australia, order_domain_values=lcv) |
| 55 | + assert backtracking_search(australia, select_unassigned_variable=mrv, |
| 56 | + order_domain_values=lcv) |
| 57 | + assert backtracking_search(australia, inference=forward_checking) |
| 58 | + assert backtracking_search(australia, inference=mac) |
| 59 | + assert backtracking_search(usa, select_unassigned_variable=mrv, |
| 60 | + order_domain_values=lcv, inference=mac) |
15 | 61 |
|
16 | 62 |
|
17 | 63 | def test_universal_dict():
|
|
0 commit comments