public void LineSegment_IntersectWithSegment_ShouldThrowException_IfPassedSegmentIsNull() { LineSegment lineSegment1 = new LineSegment(Point.MakePointWithInches(1, 1, 1)); LineSegment lineSegment2 = null; Action intersect = () => lineSegment1.IntersectWithSegment(lineSegment2); intersect.ShouldThrow<Exception>(); }
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_IntersectWithSegment_ShouldReturnNull_IfLinesFromLineSegmentsDoNotIntersect() { LineSegment lineSegment1 = new LineSegment(Point.MakePointWithInches(1, 1, 1)); LineSegment lineSegment2 = new LineSegment(Point.MakePointWithInches(0, 0, 1), Point.MakePointWithInches(1, 1, 2)); lineSegment1.IntersectWithSegment(lineSegment2).Should().BeNull(); }
public void LineSegment_IntersectWithSegment_ShouldReturnNull_IfLinesFromLineSegmentsIntersectButNotOnInstanceSegment() { LineSegment lineSegment1 = new LineSegment(Point.MakePointWithInches(0, 3, 0), Point.MakePointWithInches(1, 2, 1)); LineSegment lineSegment2 = new LineSegment(Point.MakePointWithInches(3, 3, 3)); lineSegment1.IntersectWithSegment(lineSegment2).Should().BeNull(); }
public void LineSegment_IntersectWithSegment_ShouldReturnEndPoint_IfEndPointIsBaseOrEndPointOfOtherSegment() { LineSegment lineSegment1 = new LineSegment(Point.MakePointWithInches(2, 2, 2), Point.MakePointWithInches(1, 1, 1)); LineSegment lineSegment2 = new LineSegment(Point.MakePointWithInches(-1, -1, -1), Point.MakePointWithInches(1, 1, 1)); lineSegment1.IntersectWithSegment(lineSegment2).Should().Be(lineSegment1.EndPoint); }