public void Return_ABooleanUnion_BetweenTwo_BoundingBoxes() { Point pt1 = new Point() { 5d, 5d, 0d }; Point pt2 = new Point() { -15d, -13d, -5d }; List <Point> pts = new List <Point>() { pt1, pt2 }; Point pMax = new Point() { 10, 10, 0 }; BoundingBox bBox1 = new BoundingBox(BoundingBoxCollection.BoundingBoxFrom5Points()); BoundingBox bBox2 = new BoundingBox(pts); BoundingBox bBoxResult = bBox1.Union(bBox2); _testOutput.WriteLine(bBoxResult.ToString()); bBoxResult.IsValid.Should().BeTrue(); bBoxResult.Max.Should().BeEquivalentTo(pMax); bBoxResult.Min.Should().BeEquivalentTo(pt2); }
public void Return_A_BBox_NotInitialized() { BoundingBox bBox = new BoundingBox(BoundingBoxCollection.BoundingBoxFrom5Points()); bBox.Clear(); bBox.IsValid.Should().BeFalse(); }
public void Union_Returns_TheValidBoundingBox_IfOther_IsNotValid() { BoundingBox bBox1 = BoundingBox.Unset; BoundingBox bBox2 = new BoundingBox(BoundingBoxCollection.BoundingBoxFrom5Points()); BoundingBox bBoxResult = BoundingBox.Union(bBox1, bBox2); bBoxResult.Should().Be(bBox2); }
public void IntersectReturns_UnsetBBox_If_ThereIsNotIntersection() { BoundingBox bBox1 = new BoundingBox(BoundingBoxCollection.BoundingBoxFrom5Points()); BoundingBox bBox2 = new BoundingBox(BoundingBoxCollection.NegativeBoundingBox()); BoundingBox bBoxResult = BoundingBox.Intersect(bBox1, bBox2); bBoxResult.IsValid.Should().BeFalse(); bBoxResult.Max.Should().BeEquivalentTo(Point.Unset); bBoxResult.Min.Should().BeEquivalentTo(Point.Unset); }
public void IntersectReturns_UnsetBBox_If_OneOfTheTwoBBoxes_IsNotInitialized() { BoundingBox bBox1 = BoundingBox.Unset; BoundingBox bBox2 = new BoundingBox(BoundingBoxCollection.BoundingBoxFrom5Points()); BoundingBox bBoxResult = BoundingBox.Intersect(bBox1, bBox2); bBoxResult.IsValid.Should().BeFalse(); bBoxResult.Max.Should().BeEquivalentTo(Point.Unset); bBoxResult.Min.Should().BeEquivalentTo(Point.Unset); }
public void ReturnFalse_IfAPoint_Is_Outside_TheBoundingBox() { Point externalPt = new Point() { 12.4, 5.0, 0.0 }; BoundingBox bBox = new BoundingBox(BoundingBoxCollection.BoundingBoxFrom5Points()); bool containsResult = bBox.Contains(externalPt, false); containsResult.Should().BeFalse(); }
public void ReturnTrue_IfAPoint_Is_Contained_Into_TheBoundingBox() { Point conteinedPt = new Point() { 2.5, 4.5, 0.0 }; BoundingBox bBox = new BoundingBox(BoundingBoxCollection.BoundingBoxFrom5Points()); bool containsResult = bBox.Contains(conteinedPt, false); containsResult.Should().BeTrue(); }
public void IntersectReturns_BBox_As_Intersection_Of_Two_BBoxes() { Point pt1 = new Point() { 5d, 5d, 0d }; Point pt2 = new Point() { 15d, 15d, 0d }; List <Point> pts2 = new List <Point>() { pt1, pt2 }; BoundingBox bBox1 = new BoundingBox(BoundingBoxCollection.BoundingBoxFrom5Points()); BoundingBox bBox2 = new BoundingBox(pts2); BoundingBox bBoxResult = bBox1.Intersect(bBox2); bBoxResult.IsValid.Should().BeTrue(); bBoxResult.Max.Should().BeEquivalentTo(bBox1.Max); bBoxResult.Min.Should().BeEquivalentTo(bBox2.Min); }