Skip to content

Commit

Permalink
Increase coverage Tangent Between Circles (manrajgrover#36)
Browse files Browse the repository at this point in the history
  • Loading branch information
manrajgrover authored Oct 11, 2018
2 parents a1979b1 + 8942b2b commit 51fe89e
Showing 1 changed file with 27 additions and 0 deletions.
27 changes: 27 additions & 0 deletions test/algorithms/geometry/testTangentBetweenCircles.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
/* eslint-env mocha */
const CircleTangents = require('../../../src').algorithms.geometry.CircleTangents;

const assert = require('assert');

describe('Tangent Between Circles', () => {
it('should return empty arrays if tangents do not exist (one circle is contained in the other)', () => {
const circles = new CircleTangents(0, 0, 1, 0, 0, 0.5);
assert.deepEqual(circles.tangents, [[], [], [], []]);
});

it('should return 2 external tangents (circles overlap)', () => {
const tangents = new CircleTangents(0, 0, 1, 1, 0, 1).tangents;
assert.deepEqual(tangents[0], [0, 1, 1, 1]);
assert.deepEqual(tangents[1], [0, -1, 1, -1]);
assert.deepEqual(tangents[2], []);
assert.deepEqual(tangents[3], []);
});

it('should return 2 external and 2 internal tangents (circles do not overlap)', () => {
const tangents = new CircleTangents(0, 0, 1, 2, 0, 1).tangents;
assert.deepEqual(tangents[0], [0, 1, 2, 1]);
assert.deepEqual(tangents[1], [0, -1, 2, -1]);
assert.deepEqual(tangents[2], [1, 0, 1, 0]);
assert.deepEqual(tangents[3], [1, 0, 1, 0]);
});
});

0 comments on commit 51fe89e

Please sign in to comment.