public void LineAlgorithmsIsCollinearTest() { // collinear lines Coordinate firstLineStart = new Coordinate(1, 1); Coordinate firstLineEnd = new Coordinate(4, 1); Coordinate secondLineStart = new Coordinate(1, 1); Coordinate secondLineEnd = new Coordinate(4, 1); Assert.IsTrue(LineAlgorithms.IsCollinear(firstLineStart, firstLineEnd, secondLineStart, secondLineEnd)); firstLineStart = new Coordinate(1, 1); firstLineEnd = new Coordinate(4, 1); secondLineStart = new Coordinate(1, 1); secondLineEnd = new Coordinate(15, 1); Assert.IsTrue(LineAlgorithms.IsCollinear(firstLineStart, firstLineEnd, secondLineStart, secondLineEnd)); firstLineStart = new Coordinate(1, 1); firstLineEnd = new Coordinate(16, 1); secondLineStart = new Coordinate(15, 1); secondLineEnd = new Coordinate(2, 1); Assert.IsTrue(LineAlgorithms.IsCollinear(firstLineStart, firstLineEnd, secondLineStart, secondLineEnd)); firstLineStart = new Coordinate(1, 1); firstLineEnd = new Coordinate(4, 1); secondLineStart = new Coordinate(15, 1); secondLineEnd = new Coordinate(1, 1); Assert.IsTrue(LineAlgorithms.IsCollinear(firstLineStart, firstLineEnd, secondLineStart, secondLineEnd)); firstLineStart = new Coordinate(1, 1); firstLineEnd = new Coordinate(4, 1); secondLineStart = new Coordinate(4, 1); secondLineEnd = new Coordinate(-5, 1); Assert.IsTrue(LineAlgorithms.IsCollinear(firstLineStart, firstLineEnd, secondLineStart, secondLineEnd)); firstLineStart = new Coordinate(20, 1); firstLineEnd = new Coordinate(250, 1); secondLineEnd = new Coordinate(1000, 1); secondLineStart = new Coordinate(250, 1); Assert.IsTrue(LineAlgorithms.IsCollinear(firstLineStart, firstLineEnd, secondLineStart, secondLineEnd)); firstLineStart = new Coordinate(20, 1); firstLineEnd = new Coordinate(250, 1); secondLineStart = new Coordinate(259, 1); secondLineEnd = new Coordinate(1000, 1); Assert.IsTrue(LineAlgorithms.IsCollinear(firstLineStart, firstLineEnd, secondLineStart, secondLineEnd)); // not collinear lines firstLineStart = new Coordinate(20, 1); firstLineEnd = new Coordinate(250, 1); secondLineStart = new Coordinate(1, 100); secondLineEnd = new Coordinate(1, 1200); Assert.IsFalse(LineAlgorithms.IsCollinear(firstLineStart, firstLineEnd, secondLineStart, secondLineEnd)); firstLineStart = new Coordinate(20, 1); firstLineEnd = new Coordinate(250, 1); secondLineStart = new Coordinate(250, 1); secondLineEnd = new Coordinate(1000, 2); Assert.IsFalse(LineAlgorithms.IsCollinear(firstLineStart, firstLineEnd, secondLineStart, secondLineEnd)); firstLineStart = new Coordinate(1.2, 1.2); firstLineEnd = new Coordinate(1.2, 7.2); secondLineStart = new Coordinate(2.2, 8.2); secondLineEnd = new Coordinate(2.2, 15.2); Assert.IsFalse(LineAlgorithms.IsCollinear(firstLineStart, firstLineEnd, secondLineStart, secondLineEnd)); }