"vscode:/vscode.git/clone" n'existait pas sur "43d1c711078c94253770b3656b97dc67fc85f4c7"
Newer
Older
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
def test_csp_assign():
var = 10
val = 5
assignment = {}
australia.assign(var, val, assignment)
assert australia.nassigns == 1
assert assignment[var] == val
def test_csp_unassign():
var = 10
assignment = {var: 5}
australia.unassign(var, assignment)
assert var not in assignment
def test_csp_nconflits():
map_coloring_test = MapColoringCSP(list('RGB'), 'A: B C; B: C; C: ')
assignment = {'A': 'R', 'B': 'G'}
var = 'C'
val = 'R'
assert map_coloring_test.nconflicts(var, val, assignment) == 1
val = 'B'
assert map_coloring_test.nconflicts(var, val, assignment) == 0
def test_csp_actions():
map_coloring_test = MapColoringCSP(list('123'), 'A: B C; B: C; C: ')
state = {'A': '1', 'B': '2', 'C': '3'}
assert map_coloring_test.actions(state) == []
state = {'A': '1', 'B': '3'}
assert map_coloring_test.actions(state) == [('C', '2')]
state = {'A': '1', 'C': '2'}
assert map_coloring_test.actions(state) == [('B', '3')]
state = {'A': '1'}
assert (map_coloring_test.actions(state) == [('C', '2'), ('C', '3')] or
map_coloring_test.actions(state) == [('B', '2'), ('B', '3')])
def test_backtracking_search():
assert backtracking_search(australia)
assert backtracking_search(australia, select_unassigned_variable=mrv)
assert backtracking_search(australia, order_domain_values=lcv)
assert backtracking_search(australia, select_unassigned_variable=mrv,
order_domain_values=lcv)
assert backtracking_search(australia, inference=forward_checking)
assert backtracking_search(australia, inference=mac)
assert backtracking_search(usa, select_unassigned_variable=mrv,
order_domain_values=lcv, inference=mac)
def test_universal_dict():
d = UniversalDict(42)
assert d['life'] == 42
def test_parse_neighbours():
assert parse_neighbors('X: Y Z; Y: Z') == {'Y': ['X', 'Z'], 'X': ['Y', 'Z'], 'Z': ['X', 'Y']}
if __name__ == "__main__":
pytest.main()