-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathtest-digraph-algorithm-common-visitor.js
120 lines (106 loc) · 3.08 KB
/
test-digraph-algorithm-common-visitor.js
1
2
3
4
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
// test-digraph-algorothm-common-visitor.js
var testModule = require('./module-under-test');
var DirectedGraph = testModule('arc_core_digraph').DirectedGraph;
var createTraverseContext = testModule('arc_core_digraph_algorithm_context');
var assert = require('chai').assert;
var testAlgorithmVisitorCallback = require('./fixture/test-runner-algorithm-common-visitor');
(function() {
testAlgorithmVisitorCallback({
testName: "Simple callback, no error, returns true.",
validConfig: true,
request: {
algorithm: "TEST",
method: 'foo',
visitor: {
foo: function(request) {
return true;
}
},
request: "whatever"
},
expectedResults: {
error: null,
result: true,
callbackCalled: true
}
});
})();
(function() {
testAlgorithmVisitorCallback({
testName: "Simple callback, no error, returns false.",
validConfig: true,
request: {
algorithm: "TEST",
method: 'foo',
visitor: {
foo: function(request) {
return false;
}
},
request: "whatever"
},
expectedResults: {
error: null,
result: false,
callbackCalled: true
}
});
})();
(function() {
testAlgorithmVisitorCallback({
testName: "Simple callback on undefined visitor method, no error.",
validConfig: true,
request: {
algorithm: "TEST",
method: 'foo',
visitor: {
},
request: "whatever"
},
expectedResults: {
error: null,
result: true,
callbackCalled: false
}
});
})();
(function() {
testAlgorithmVisitorCallback({
testName: "Attempt to callback a visitor method that is not a function.",
validConfig: false,
facade: {
watcher: 5
},
request: {
algorithm: "TEST",
method: 'foo',
request: "whatever"
},
expectedResults: {
error: 'TEST visitor interface method \'watcher\' is type \'[object Number]\' instead of \'[object Function]\' as expected.',
result: null,
callbackCalled: false
}
});
})();
(function() {
testAlgorithmVisitorCallback({
testName: "Attempt to callback a visitor method that does not return a Boolean.",
validConfig: false,
request: {
algorithm: "TEST",
method: 'foo',
request: "whatever",
visitor: {
foo: function(request) {
return 5;
}
}
},
expectedResults: {
error: 'TEST visitor interface error in callback function \'watcher\'. Function returned type \'[object Number]\' instead of expected \'[object Boolean]\'.',
result: null,
callbackCalled: true
}
});
})();