public void Intersection_of_Box3_with_empty_Box3_is_empty()
        {
            var a = new Box3(minCorner: new Vector3(2.72, 3.14, 1.23), dimensions: new Vector3(1.0, 2.0, 3.0));

            var c = Box3.Intersection(a, Box3.Empty);

            Expect(c.IsEmpty);
        }
        public void Intersection_of_two_Box3_is_correct()
        {
            var a = new Box3(minCorner: new Vector3(2.72, 3.14, 1.23), dimensions: new Vector3(1.0, 2.0, 3.0));
            var b = new Box3(minCorner: new Vector3(3.5, 2.5, 3.21), dimensions: new Vector3(2.0, 1.5, 1.0));

            var c = Box3.Intersection(a, b);

            Expect(c.MinCorner.X, Is.EqualTo(3.5).Within(_tolerance));
            Expect(c.MinCorner.Y, Is.EqualTo(3.14).Within(_tolerance));
            Expect(c.MinCorner.Z, Is.EqualTo(3.21).Within(_tolerance));

            Expect(c.MaxCorner.X, Is.EqualTo(3.72).Within(_tolerance));
            Expect(c.MaxCorner.Y, Is.EqualTo(4.0).Within(_tolerance));
            Expect(c.MaxCorner.Z, Is.EqualTo(4.21).Within(_tolerance));
        }