public void LineSegment_IntersectWithSegment_ShouldReturnLineIntersect() { LineSegment lineSegment1 = new LineSegment(Point.MakePointWithInches(1, 1, 1)); LineSegment lineSegment2 = new LineSegment(Point.MakePointWithInches(1, 0, 0), Point.MakePointWithInches(0, 1, 1)); Line lineSegmentToLine2 = new Line(lineSegment2); lineSegment1.IntersectWithSegment(lineSegment2).Should().Be(lineSegment1.IntersectWithLine(lineSegmentToLine2)); }
public void LineSegment_IntersectWithLine_ShouldThrowNullPointerException_IfLineIsNull() { LineSegment lineSegment = new LineSegment(Point.MakePointWithInches(1, 1, 1)); Line line = null; Action intersect = () => lineSegment.IntersectWithLine(line); intersect.ShouldThrow<Exception>(); }
public void LineSegment_IntersectWithLine_ShouldReturnNull_IfLinesIntersectButNotOnSegment() { LineSegment lineSegment = new LineSegment(Point.MakePointWithInches(1, 1, 1), Point.MakePointWithInches(2, 2, 2)); Line line = new Line(Point.MakePointWithInches(0, 0, 1), Point.MakePointWithInches(1, 1, 0)); lineSegment.IntersectWithLine(line).Should().BeNull(); }
public void LineSegment_IntersectWithLine_ShouldBeLineIntersection_IfLineSegmentEndPointIsOnLine() { LineSegment lineSegment = new LineSegment(Point.MakePointWithInches(1, 1, 1)); Line line = new Line(Point.MakePointWithInches(0, 0, 1), Point.MakePointWithInches(0, 0, 2)); Line lineSegmentToLine = new Line(lineSegment); lineSegment.IntersectWithLine(line).Should().Be(lineSegmentToLine.IntersectWithLine(line)); }
public void LineSegment_IntersectWithLine_ShouldEqualLineIntersect() { LineSegment lineSegment = new LineSegment(Point.MakePointWithInches(1, 1, 1)); Line line = new Line(Point.MakePointWithInches(0, 0, 1), Point.MakePointWithInches(1, 1, 0)); Line lineSegmentToLine = new Line(lineSegment); lineSegment.IntersectWithLine(line).Should().Be(lineSegmentToLine.IntersectWithLine(line)); }