@@ -2,15 +2,16 @@ extends GdUnitTestSuite
2
2
class_name PuzzleAnalysisTest
3
3
4
4
5
- func build_puzzle (puzzle ) :
6
- var puzzle_node = DotHopPuzzle .build_puzzle_node ({puzzle = puzzle ,
5
+ func build_puzzle (puzzle : Array ) -> DotHopPuzzle :
6
+ var puzzle_node : = DotHopPuzzle .build_puzzle_node ({puzzle = puzzle ,
7
7
game_def_path = "res://src/puzzles/dothop.txt" })
8
8
puzzle_node .init_game_state ()
9
9
return puzzle_node
10
10
11
11
## test the solver ##################################################
12
12
13
- func test_puzzle_solver_basic (puzz , solvable , test_parameters = [
13
+ @warning_ignore ("unused_parameter" )
14
+ func test_puzzle_solver_basic (puzz : Array , solvable : bool , test_parameters : Array = [
14
15
[["xot" ], true ],
15
16
[[
16
17
"x." ,
@@ -31,15 +32,16 @@ func test_puzzle_solver_basic(puzz, solvable, test_parameters=[
31
32
"ox.o.ot" ,
32
33
"...o.o." ,
33
34
], true ],
34
- ]):
35
- var puzzle = build_puzzle (puzz )
36
- var result = PuzzleAnalysis .new (puzzle ).analyze ()
35
+ ]) -> void :
36
+ var puzzle : = build_puzzle (puzz )
37
+ var result : = PuzzleAnalysis .new (puzzle ).analyze ()
37
38
assert_bool (result .solvable ).is_equal (solvable )
38
39
39
40
puzzle .free ()
40
41
41
42
42
- func test_puzzle_solver_analysis (puzz , expected_result , test_parameters = [
43
+ @warning_ignore ("unused_parameter" )
44
+ func test_puzzle_solver_analysis (puzz : Array , expected_result : Dictionary , test_parameters : Array = [
43
45
[["xot" ], {
44
46
solvable = true ,
45
47
path_count = 1 , winning_path_count = 1 , stuck_path_count = 0 ,
@@ -78,36 +80,36 @@ func test_puzzle_solver_analysis(puzz, expected_result, test_parameters=[
78
80
solvable = true ,
79
81
path_count = 22 , winning_path_count = 2 , stuck_path_count = 20 ,
80
82
}],
81
- ]):
82
- var puzzle = build_puzzle (puzz )
83
+ ]) -> void :
84
+ var puzzle : = build_puzzle (puzz )
83
85
84
- var result = PuzzleAnalysis .new (puzzle ).analyze ()
86
+ var result : = PuzzleAnalysis .new (puzzle ).analyze ()
85
87
86
- for k in expected_result :
88
+ for k : String in expected_result :
87
89
assert_that (expected_result [k ]).is_equal (result .get (k ))
88
90
89
91
puzzle .free ()
90
92
91
93
## test in-game puzzles ##################################################
92
94
93
- func test_all_puzzles_solvable ():
94
- var sets = Store .get_puzzle_sets ()
95
+ func test_all_puzzles_solvable () -> void :
96
+ var sets : = Store .get_puzzle_sets ()
95
97
assert_int (len (sets )).is_greater (3 ) # make sure we get some
96
98
97
99
for puzzle_set in sets :
98
- var game_def = Puzz .parse_game_def (puzzle_set .get_puzzle_script_path ())
99
- var puzzle_count = len (game_def .puzzles )
100
+ var game_def : = Puzz .parse_game_def (puzzle_set .get_puzzle_script_path ())
101
+ var puzzle_count : = len (game_def .puzzles )
100
102
assert_int (puzzle_count ).is_greater (0 )
101
103
for i in puzzle_count :
102
104
# requiring a node that is added to the scene to analyze is a damn shame here
103
105
# (can the analysis be run without the node's _ready()?
104
- var puzz_node = DotHopPuzzle .build_puzzle_node ({
106
+ var puzz_node : = DotHopPuzzle .build_puzzle_node ({
105
107
game_def = game_def ,
106
108
puzzle_num = i ,
107
109
})
108
110
puzz_node .init_game_state ()
109
111
110
- var solve = PuzzleAnalysis .new (puzz_node ).analyze ()
112
+ var solve : = PuzzleAnalysis .new (puzz_node ).analyze ()
111
113
Log .pr (["Puzzle:" , puzzle_set .get_display_name (), "num:" , i ,
112
114
"solvable?" , solve .solvable ,
113
115
"dot count" , solve .dot_count ,
0 commit comments