| 
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