1
- test ( "Basic test" , function ( ) {
2
- ok ( 1 === 1 , "Test ran" ) ;
3
- } ) ;
1
+
2
+ test ( "Sanity Checks" , function ( ) {
3
+ ok ( typeof Graph !== "undefined" , "Graph exists" ) ;
4
+ ok ( typeof astar !== "undefined" , "Astar exists" ) ;
5
+ } ) ;
6
+
7
+ test ( "Basic Horizontal" , function ( ) {
8
+
9
+ var result1 = runSearch ( [ [ 1 ] , [ 1 ] ] , [ 0 , 0 ] , [ 1 , 0 ] ) ;
10
+ equal ( result1 . text , "(1,0)" , "One step down" ) ;
11
+
12
+ var result2 = runSearch ( [ [ 1 ] , [ 1 ] , [ 1 ] ] , [ 0 , 0 ] , [ 2 , 0 ] ) ;
13
+ equal ( result2 . text , "(1,0)(2,0)" , "Two steps down" ) ;
14
+
15
+ var result3 = runSearch ( [ [ 1 ] , [ 1 ] , [ 1 ] , [ 1 ] ] , [ 0 , 0 ] , [ 3 , 0 ] ) ;
16
+ equal ( result3 . text , "(1,0)(2,0)(3,0)" , "Three steps down" ) ;
17
+
18
+ } ) ;
19
+
20
+ test ( "Basic Vertical" , function ( ) {
21
+
22
+ var result1 = runSearch ( [ [ 1 , 1 ] ] , [ 0 , 0 ] , [ 0 , 1 ] ) ;
23
+ equal ( result1 . text , "(0,1)" , "One step across" ) ;
24
+
25
+ var result2 = runSearch ( [ [ 1 , 1 , 1 ] ] , [ 0 , 0 ] , [ 0 , 2 ] ) ;
26
+ equal ( result2 . text , "(0,1)(0,2)" , "Two steps across" ) ;
27
+
28
+ var result3 = runSearch ( [ [ 1 , 1 , 1 , 1 ] ] , [ 0 , 0 ] , [ 0 , 3 ] ) ;
29
+ equal ( result3 . text , "(0,1)(0,2)(0,3)" , "Three steps across" ) ;
30
+
31
+ } ) ;
32
+
33
+ test ( "Pathfinding" , function ( ) {
34
+ var result1 = runSearch ( [
35
+ [ 1 , 1 , 1 , 1 ] ,
36
+ [ 0 , 1 , 1 , 0 ] ,
37
+ [ 0 , 0 , 1 , 1 ]
38
+ ] , [ 0 , 0 ] , [ 2 , 3 ] ) ;
39
+
40
+ equal ( result1 . text , "(0,1)(1,1)(1,2)(2,2)(2,3)" , "Result is expected" ) ;
41
+ } ) ;
42
+
43
+ function runSearch ( grid , start , end ) {
44
+ var graph = new Graph ( grid ) ;
45
+ var start = graph . nodes [ start [ 0 ] ] [ start [ 1 ] ] ;
46
+ var end = graph . nodes [ end [ 0 ] ] [ end [ 1 ] ] ;
47
+ var sTime = new Date ( ) ;
48
+ var result = astar . search ( graph . nodes , start , end ) ;
49
+ var eTime = new Date ( ) ;
50
+ return {
51
+ result : result ,
52
+ text : pathToString ( result ) ,
53
+ time : ( eTime - sTime )
54
+ } ;
55
+ }
56
+
57
+ function pathToString ( result ) {
58
+ return result . map ( function ( node ) {
59
+ return "(" + node . pos . x + "," + node . pos . y + ")" ;
60
+ } ) . join ( "" ) ;
61
+ }
62
+
63
+ // // https://gist.github.com/bgrins/581352
64
+ // function runBasic() {
65
+ // var graph = new Graph([
66
+ // [1,1,1,1],
67
+ // [0,1,1,0],
68
+ // [0,0,1,1]
69
+ // ]);
70
+ // var start = graph.nodes[0][0];
71
+ // var end = graph.nodes[1][2];
72
+ // var result = astar.search(graph.nodes, start, end);
73
+
74
+ // return "<pre>" + result.join(", ") + "</pre>";
75
+ // }
76
+
77
+ // $(function() {
78
+ // $("#runall").click(function() {
79
+
80
+ // var result1 = runTest([
81
+ // [1,1,1,1],
82
+ // [0,1,1,0],
83
+ // [0,0,1,1]
84
+ // ], [0,0], [2,3]);
85
+
86
+ // $("#test-output").append(result1.text);
87
+ // $("#test-output").append(runBasic());
88
+ // return false;
89
+ // });
90
+ // });
91
+
0 commit comments