-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathtests.js
56 lines (44 loc) · 1.66 KB
/
tests.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
/// testing with nodeunit
var erase = require('./erase.js').erase;
exports['cut single segment with circle at middle'] = function(test) {
var res = erase([[[0,0],[40,0]]], [[20,0]], 10);
test.deepEqual(res, [[[0,0],[10,0]], [[30,0],[40,0]]]);
var res = erase([[[0,0],[40,0]]], [[10,0]], 10);
test.deepEqual(res, [[[20,0],[40,0]]]);
var res = erase([[[0,0],[40,0]]], [[30,0]], 10);
test.deepEqual(res, [[[0,0],[20,0]]]);
test.done();
}
exports['cut single segment with circle at start'] = function(test) {
var res = erase([[[0,0],[40,0]]], [[0,0]], 10);
test.deepEqual(res, [[[10,0],[40,0]]]);
test.done();
}
exports['cut single segment with circle at end'] = function(test) {
var res = erase([[[0,0],[40,0]]], [[40,0]], 10);
test.deepEqual(res, [[[0,0],[30,0]]]);
test.done();
}
exports['cut segments with circle at middle'] = function(test) {
var res = erase([[[0,0],[20,0]]
,[[20,0],[40,0]]], [[20,0]], 10);
test.deepEqual(res, [[[0,0] ,[10,0]]
,[[30,0],[40,0]]]);
test.done();
}
exports['cut 2 segments with circle at end of middle point'] = function(test) {
var res = erase([[[0,0],[20,0],[40,0],[60,0]]]
,[[15,0]], 5);
test.deepEqual(res, [[[0,0] ,[10,0]]
,[[20,0],[40,0],[60,0]]]);
test.done();
}
exports['cut vertical segment with circle in middle'] = function(test) {
var res = erase([[[0,0],[0,40]]], [[0,20]], 10);
test.deepEqual(res, [[[0,0],[0,10]], [[0,30],[0,40]]]);
var res = erase([[[0,0],[0,40]]], [[0,10]], 10);
test.deepEqual(res, [[[0,20],[0,40]]]);
var res = erase([[[0,0],[0,40]]], [[0,30]], 10);
test.deepEqual(res, [[[0,0],[0,20]]]);
test.done();
}