Skip to content

Commit a7f49f6

Browse files
committed
Fixed tests
1 parent 32d4319 commit a7f49f6

File tree

1 file changed

+64
-61
lines changed

1 file changed

+64
-61
lines changed

tests/angles.test.js

+64-61
Original file line numberDiff line numberDiff line change
@@ -1,59 +1,59 @@
11

2-
var should = require('should');
3-
var angles = require('../angles.js');
2+
var assert = require("assert");
3+
var angles = require('angles');
44

55
var tests = [
6-
{m: 'between', p: [38, 13, 45], r: true, s: 360},
7-
{m: 'between', p: [38, 40, 45], r: false, s: 360},
8-
{m: 'between', p: [12, 5, 18], r: true, s: 60},
9-
{m: 'between', p: [15, 2, 18], r: true, s: 12},
10-
{m: 'between', p: [38 + 360 * 3, 13 - 360 * 2, 45 + 360], r: true, s: 360},
11-
{m: 'toRad', p: [90], r: Math.PI / 2, s: 360},
12-
{m: 'toDeg', p: [Math.PI], r: 180, s: Math.PI * 2},
13-
{m: 'toRad', p: [180], r: Math.PI, s: 360},
14-
{m: 'toDeg', p: [Math.PI], r: 180, s: Math.PI * 2},
15-
{m: 'distance', p: [1, 359], r: 2, s: 360},
16-
{m: 'distance', p: [358, 1], r: 3, s: 360},
17-
{m: 'distance', p: [18, 25], r: 7, s: 360},
18-
{m: 'distance', p: [1, 359], r: 2, s: 360},
19-
{m: 'normalize', p: [55], r: 55, s: 360},
20-
{m: 'normalize', p: [55 + 360], r: 55, s: 360},
21-
{m: 'normalize', p: [-55], r: 305, s: 360},
22-
{m: 'normalize', p: [-190], r: 170, s: 360},
23-
{m: 'normalizeHalf', p: [55], r: 55, s: 360},
24-
{m: 'normalizeHalf', p: [55 + 360], r: 55, s: 360},
25-
{m: 'normalizeHalf', p: [-55], r: -55, s: 360},
26-
{m: 'normalizeHalf', p: [-190], r: 170, s: 360},
27-
{m: 'fromSlope', p: [[1, 1], [5, 10]], r: 66.03751102542182, s: 360},
28-
{m: 'fromSlope', p: [[124, 8984], [234, 10322]], r: 85.30015415271286, s: 360},
29-
{m: 'fromSlope', p: [[424, 8984], [234, 10322]], r: 98.08213603676147, s: 360},
30-
{m: 'fromSlope', p: [[345, -78445], [3475890, 8495]], r: 1.4329425927144732, s: 360},
31-
{m: 'shortestDirection', p: [50, 60], r: -1, s: 360},
32-
{m: 'shortestDirection', p: [60, 50], r: 1, s: 360},
33-
{m: 'shortestDirection', p: [50, 50], r: 0, s: 360},
34-
{m: 'shortestDirection', p: [60 + 360 * 3, 50 + 360 * 7], r: 1, s: 360},
35-
{m: 'shortestDirection', p: [60 - 360 * 3, 50 - 360 * 7], r: 1, s: 360},
36-
{m: 'fromSinCos', p: [Math.sin(0.3), Math.cos(0.3)], r: 0.3, s: Math.PI * 2},
37-
{m: 'fromSinCos', p: [Math.sin(-0.3), Math.cos(-0.3)], r: Math.PI * 2 - 0.3, s: Math.PI * 2},
38-
{m: 'fromSinCos', p: [Math.sin(0.7), Math.cos(0.7)], r: 0.7, s: Math.PI * 2},
39-
{m: 'fromSinCos', p: [Math.sin(-0.7), Math.cos(-0.7)], r: Math.PI * 2 - 0.7, s: Math.PI * 2},
40-
{m: 'lerp', p: [45, 135, 0.4, -1], r: 81, s: 360},
41-
{m: 'lerp', p: [0, Math.PI * 2, 0.5], r: 0, s: Math.PI * 2},
42-
{m: 'lerp', p: [0, Math.PI, 0.5, -1], r: Math.PI * 0.5, s: Math.PI * 2},
43-
{m: 'lerp', p: [45, 360 + 315, 0.5, -1], r: 180, s: 360},
44-
{m: 'lerp', p: [45, 360 + 315, 0.5, 1], r: 0, s: 360},
45-
{m: 'lerp', p: [45, 360 + 315, 0, -1], r: 45, s: 360},
46-
{m: 'lerp', p: [45, 360 + 315, 1, -1], r: 315, s: 360},
47-
{m: 'lerp', p: [30, 90, 0.25, -1], r: 45, s: 360},
48-
{m: 'lerp', p: [30, 90, 0.25, 1], r: 315, s: 360},
49-
{m: 'lerp', p: [300, 60, 0.25, -1], r: 330, s: 360},
50-
{m: 'lerp', p: [300, 60, 0.25, 1], r: 240, s: 360},
51-
{m: 'lerp', p: [-30, 30, 0.5, -1], r: 0, s: 360},
52-
{m: 'lerp', p: [-30, 30, 0.5, 1], r: 180, s: 360},
53-
{m: 'lerp', p: [-30, 30, 0.25, -1], r: 345, s: 360},
54-
{m: 'lerp', p: [-30, 30, 0.25, 1], r: 255, s: 360},
55-
{m: 'lerp', p: [10, 10, 0.5, -1], r: 10, s: 360},
56-
{m: 'lerp', p: [10, 10, 0.5, 1], r: 10, s: 360},
6+
{ m: 'between', p: [38, 13, 45], r: true, s: 360 },
7+
{ m: 'between', p: [38, 40, 45], r: false, s: 360 },
8+
{ m: 'between', p: [12, 5, 18], r: true, s: 60 },
9+
{ m: 'between', p: [15, 2, 18], r: true, s: 12 },
10+
{ m: 'between', p: [38 + 360 * 3, 13 - 360 * 2, 45 + 360], r: true, s: 360 },
11+
{ m: 'toRad', p: [90], r: Math.PI / 2, s: 360 },
12+
{ m: 'toDeg', p: [Math.PI], r: 180, s: Math.PI * 2 },
13+
{ m: 'toRad', p: [180], r: Math.PI, s: 360 },
14+
{ m: 'toDeg', p: [Math.PI], r: 180, s: Math.PI * 2 },
15+
{ m: 'distance', p: [1, 359], r: 2, s: 360 },
16+
{ m: 'distance', p: [358, 1], r: 3, s: 360 },
17+
{ m: 'distance', p: [18, 25], r: 7, s: 360 },
18+
{ m: 'distance', p: [1, 359], r: 2, s: 360 },
19+
{ m: 'normalize', p: [55], r: 55, s: 360 },
20+
{ m: 'normalize', p: [55 + 360], r: 55, s: 360 },
21+
{ m: 'normalize', p: [-55], r: 305, s: 360 },
22+
{ m: 'normalize', p: [-190], r: 170, s: 360 },
23+
{ m: 'normalizeHalf', p: [55], r: 55, s: 360 },
24+
{ m: 'normalizeHalf', p: [55 + 360], r: 55, s: 360 },
25+
{ m: 'normalizeHalf', p: [-55], r: -55, s: 360 },
26+
{ m: 'normalizeHalf', p: [-190], r: 170, s: 360 },
27+
{ m: 'fromSlope', p: [[1, 1], [5, 10]], r: 66.03751102542182, s: 360 },
28+
{ m: 'fromSlope', p: [[124, 8984], [234, 10322]], r: 85.30015415271286, s: 360 },
29+
{ m: 'fromSlope', p: [[424, 8984], [234, 10322]], r: 98.08213603676147, s: 360 },
30+
{ m: 'fromSlope', p: [[345, -78445], [3475890, 8495]], r: 1.4329425927144732, s: 360 },
31+
{ m: 'shortestDirection', p: [50, 60], r: -1, s: 360 },
32+
{ m: 'shortestDirection', p: [60, 50], r: 1, s: 360 },
33+
{ m: 'shortestDirection', p: [50, 50], r: 0, s: 360 },
34+
{ m: 'shortestDirection', p: [60 + 360 * 3, 50 + 360 * 7], r: 1, s: 360 },
35+
{ m: 'shortestDirection', p: [60 - 360 * 3, 50 - 360 * 7], r: 1, s: 360 },
36+
{ m: 'fromSinCos', p: [Math.sin(0.3), Math.cos(0.3)], r: 0.3, s: Math.PI * 2 },
37+
{ m: 'fromSinCos', p: [Math.sin(-0.3), Math.cos(-0.3)], r: Math.PI * 2 - 0.3, s: Math.PI * 2 },
38+
{ m: 'fromSinCos', p: [Math.sin(0.7), Math.cos(0.7)], r: 0.7, s: Math.PI * 2 },
39+
{ m: 'fromSinCos', p: [Math.sin(-0.7), Math.cos(-0.7)], r: Math.PI * 2 - 0.7, s: Math.PI * 2 },
40+
{ m: 'lerp', p: [45, 135, 0.4, -1], r: 81, s: 360 },
41+
{ m: 'lerp', p: [0, Math.PI * 2, 0.5], r: 0, s: Math.PI * 2 },
42+
{ m: 'lerp', p: [0, Math.PI, 0.5, -1], r: Math.PI * 0.5, s: Math.PI * 2 },
43+
{ m: 'lerp', p: [45, 360 + 315, 0.5, -1], r: 180, s: 360 },
44+
{ m: 'lerp', p: [45, 360 + 315, 0.5, 1], r: 0, s: 360 },
45+
{ m: 'lerp', p: [45, 360 + 315, 0, -1], r: 45, s: 360 },
46+
{ m: 'lerp', p: [45, 360 + 315, 1, -1], r: 315, s: 360 },
47+
{ m: 'lerp', p: [30, 90, 0.25, -1], r: 45, s: 360 },
48+
{ m: 'lerp', p: [30, 90, 0.25, 1], r: 315, s: 360 },
49+
{ m: 'lerp', p: [300, 60, 0.25, -1], r: 330, s: 360 },
50+
{ m: 'lerp', p: [300, 60, 0.25, 1], r: 240, s: 360 },
51+
{ m: 'lerp', p: [-30, 30, 0.5, -1], r: 0, s: 360 },
52+
{ m: 'lerp', p: [-30, 30, 0.5, 1], r: 180, s: 360 },
53+
{ m: 'lerp', p: [-30, 30, 0.25, -1], r: 345, s: 360 },
54+
{ m: 'lerp', p: [-30, 30, 0.25, 1], r: 255, s: 360 },
55+
{ m: 'lerp', p: [10, 10, 0.5, -1], r: 10, s: 360 },
56+
{ m: 'lerp', p: [10, 10, 0.5, 1], r: 10, s: 360 },
5757
];
5858

5959
for (var i = 0; i <= 360; i += 2) {
@@ -89,30 +89,33 @@ for (var i = 0; i <= 360; i += 2) {
8989
dir = 'N';
9090
}
9191

92-
tests.push({m: 'quadrant', p: [
92+
tests.push({
93+
m: 'quadrant', p: [
9394
Math.cos(i / 180 * Math.PI),
9495
Math.sin(i / 180 * Math.PI)
95-
], r: kl, s: 360, label: 'Quadrant of angle ' + i});
96+
], r: kl, s: 360, label: 'Quadrant of angle ' + i
97+
});
9698

97-
tests.push({m: 'compass', p: [i], r: dir, s: 360, label: 'Direction of angle ' + i});
99+
tests.push({ m: 'compass', p: [i], r: dir, s: 360, label: 'Direction of angle ' + i });
98100
}
99101

100-
describe('Angles', function() {
102+
describe('Angles', function () {
101103

102104
for (var i = 0; i < tests.length; i++) {
103105

104-
(function(i) {
106+
(function (i) {
105107

106-
it('Should work with ' + (tests[i].label || "->" + tests[i].m + "(" + tests[i].p.join(", ") + ")"), function() {
108+
it('Should work with ' + (tests[i].label || "->" + tests[i].m + "(" + tests[i].p.join(", ") + ")"), function () {
107109

108110
var c = tests[i];
109111
angles.SCALE = c.s;
110112
if (typeof c.r !== 'number')
111-
angles[c.m].apply(angles, c.p).should.be.equal(c.r);
113+
assert.equal(angles[c.m].apply(angles, c.p), c.r)
112114
else
113-
angles[c.m].apply(angles, c.p).should.be.approximately(c.r, 1e-15);
115+
assert(Math.abs(angles[c.m].apply(angles, c.p) - c.r) < 1e-14)
114116
});
115117

116118
})(i);
117119
}
118120
});
121+

0 commit comments

Comments
 (0)