public void IntersectingTranslatedShapeWithRay()
        {
            var r = new RTF.Ray(pt.Point(0, 0, -5), pt.Vector(0, 0, 1));
            var s = new shapes.TestShape(tf.Translation(5, 0, 0));

            _ = s.Intersect(r);

            Assert.Equal(pt.Point(-5, 0, -5), s.SavedRay.Origin);
            Assert.Equal(pt.Vector(0, 0, 1), s.SavedRay.Direction);
        }
        public void IntersectingScaledShapeWithRay()
        {
            var r = new RTF.Ray(pt.Point(0, 0, -5), pt.Vector(0, 0, 1));
            var s = new shapes.TestShape(tf.Scaling(2, 2, 2));

            _ = s.Intersect(r);

            Assert.Equal(pt.Point(0, 0, -2.5), s.SavedRay.Origin);
            Assert.Equal(pt.Vector(0, 0, 0.5), s.SavedRay.Direction);
        }