{
let message = "";
const P1 = new Point(2, 8);
const P2 = new Point(4, 10);
const L = new Line(P1, P2);
if (L.equals(new Line(P1, P2)) !== true) {
message += `equals: L.equals(new Line(P1, P2)) !== true test failed. \n`;
}
if (L.equals(new Line({gradient: 1, offset: 6})) !== true) {
message += `equals: L.equals(new Line({gradient: 1, offset: 6})) !== true test failed. \n`;
}
if (L.slopeInterceptForm() !== 'Y = 1X + 6') {
message += `SlopeInterceptForm: L.slopeInterceptForm() !== 'Y = 1X + 6' test failed. \n`;
}
if (new Line(new Point(-1, -1), new Point(-1,0)).equals(new Line(new Point(-1,0), new Point(-1, -1))) !== true) {
message += `GradientAndOffset: new Line(new Point(-1, -1), new Point(-1,0)).equals(new Line(new Point(-1,0), new Point(-1, -1)) test failed. \n`;
}
if (new Line(new Point(-1, -1), new Point(-1,0)).equals(new Line({gradient: Infinity, offset: -1})) !== true) {
message += `GradientAndOffset: new Line(new Point(-1, -1), new Point(-1,0)).equals(new Line({gradient: Infinity, offset: -1})) !== true test failed. \n`;
}
if (new Line(new Point(-1, -1), new Point(0,-1)).equals(new Line({gradient: 0, offset: -1})) !== true) {
message += `GradientAndOffset: new Line(new Point(-1, -1), new Point(0,-1)).equals(new Line({gradient: 0, offset: -1})) !== true test failed. \n`;
}
if (new Line({gradient: 2, offset: 6}).gradient !== 2 || new Line({gradient: 2, offset: 6}).offset !== 6){
message += `GradientAndOffset: new Line({gradient: 2, offset: 6}).gradient !== 2 || new Line({gradient: 2, offset: 6}).offset !== 6 test failed. \n`;
}
if (new Line({gradient: 2}).gradient !== 2 || new Line({gradient: 2}).offset !== 0){
message += `GradientAndOffset: new Line({gradient: 2}).gradient !== 2 || new Line({gradient: 2}).offset !== 0 test failed. \n`;
}
if (new Line({offset: 5}).gradient !== 0 || new Line({offset: 5}).offset !== 5){
message += `GradientAndOffset: new Line({offset: 5}).gradient !== 0 || new Line({offset: 5}).offset !== 5 test failed. \n`;
}
// LineOnAxist
if(L.lineOnAxis().xAxis.equals(new Point(-6, 0)) !== true || L.lineOnAxis().yAxis.equals(new Point(0, 6)) !== true) {
message += `LineOnAxist: L.lineOnAxis().xAxis.equals(new Point(-6, 0)) !== true || L.lineOnAxis().yAxis.equals(new Point(0, 6)) !== true test failed. \n`;
}
if(new Line(new Point(1, 1), new Point(2, 1)).lineOnAxis().yAxis.equals(new Point(0, 1)) !== true) {
message += `LineOnAxist: new Line(new Point(1, 1), new Point(2, 1)).lineOnAxis().yAxis.equals(new Point(0, 1)) !== true test failed. \n`;
}
if(new Line(new Point(1, 1), new Point(1, 2)).lineOnAxis().xAxis.equals(new Point(1, 0)) !== true) {
message += `LineOnAxist: new Line(new Point(1, 1), new Point(1, 2)).lineOnAxis().xAxis.equals(new Point(1, 0)) !== true test failed. \n`;
}
// ThroughZero
if (L.throughZero() === true) {
message += `ThroughZero: L.throughZero() === true test failed. \n`;
}
if (new Line({gradient: 1, offset: 1}).throughZero() === true) {
message += `ThroughZero: new Line({gradient: 1, offset: 1}).throughZero() !== true test failed. \n`;
}
if (new Line({gradient: 1, offset: 0}).throughZero() !== true) {
message += `ThroughZero: new Line({gradient: 1, offset: 0}).throughZero() !== true test failed. \n`;
}
//PointOnLint
if (L.pointOnLine(new Point(0, 6)) !== true) {
message += `PointOnLint: L.pointOnLine(new Point(0, 6)) !== true test failed. \n`;
}
if (L.pointOnLine(new Point(0, 0)) === true) {
message += `PointOnLint: L.pointOnLine(new Point(0, 0)) === true test failed. \n`;
}
if (new Line({gradient: 0, offset: 1}).pointOnLine(new Point(1, 1)) !== true) {
message += `PointOnLine: new Line({gradient: 0, offset: 1}).pointOnLine(new Point(1, 1)) !== true test failed. \n`;
}
// Parallel
if (L.parallel(new Line({gradient: 1, offset: 10})) !== true) {
message += `Parallel: L.parallel(new Line(gradient: 4, offset: 10)) !== true test failed. \n`;
}
if (L.parallel(new Line(new Point(3, 6), new Point(0, 3))) !== true) {
message += `Parallel: L.parallel(new Line(new Point(3, 6), new Point(0, 3))) !== true test failed. \n`;
}
if (L.parallel(new Line({gradient: 2, offset: 10})) === true) {
message += `Parallel: L.parallel(new Line(gradient: 4, offset: 10)) !== true test failed. \n`;
}
// Distance
if (L.distance(new Line({gradient: 0, offset: 2})) !== 0) {
message += `Distance: L.distance(new Line({gradient: 0, offset: 2})) !== 0 test failed. \n`;
}
if (L.distance(new Line({gradient: 1, offset: 2})) !== 2 * Math.sqrt(2)) {
message += `Distance: L.distance(new Line({gradient: 1, offset: 2}) !== 2 * Math.sqrt(2) test failed. \n`;
}
if (L.distance(new Line({gradient: 1, offset: 10})) !== 2 * Math.sqrt(2)) {
message += `Distance: L.distance(new Line({gradient: 1, offset: 10})) !== 2 * Math.sqrt(2) test failed. \n`;
}
// Intersection
if (L.intersection(new Line({gradient: 1, offset: 2})).equals(new Point('null', 'null')) !== true) {
message += `Intersection: L.intersection(new Line({gradient: 1, offset: 2})).equals(new Point('null', 'null')) !== true test failed. \n`;
}
if (L.intersection(new Line({gradient: 2, offset: 2})).equals(new Point(4, 10)) !== true) {
message += `Intersection: L.intersection(new Line({gradient: 2, offset: 2})).equals(new Point(4, 10)) !== true test failed. \n`;
}
if (L.intersection(new Line({gradient: -1, offset: 2})).equals(new Point(-2, 4)) !== true) {
message += `Intersection: L.intersection(new Line({gradient: 2, offset: 2})).equals(new Point(4, 10)) !== true test failed. \n`;
}
// Move
if (L.move(3).equals(new Line({gradient: 1, offset: 9})) !== true) {
message += `Move: L.move(3).equals(new Line({gradient: 1, offset: 9}) test failed. \n`;
}
if (L.move(-3).equals(new Line({gradient: 1, offset: 3})) !== true) {
message += `Move: L.move(3).equals(new Line({gradient: 1, offset: 9}) test failed. \n`;
}
if (L.move(0).equals(L) !== true) {
message += `Move: L.move(0).equals(L) !== true test failed. \n`;
}
// Succeed?
if (message === "") {
message = "Succeed";
}
return md`${message}`;
}