public void A_stripe_pattern_is_constant_in_z()
        {
            var pattern = new StripePattern(Color.White, Color.Black);

            Assert.AreEqual(Color.White, pattern.ColorAt(Tuple.Point(0, 0, 0)));
            Assert.AreEqual(Color.White, pattern.ColorAt(Tuple.Point(0, 0, 1)));
            Assert.AreEqual(Color.White, pattern.ColorAt(Tuple.Point(0, 0, 2)));
        }
Ejemplo n.º 2
0
        public void ColorAtZDirection()
        {
            var pattern = new StripePattern();

            Assert.Equal(Color.White, pattern.ColorAt(new Sphere(), new Point(0, 0, 0)));
            Assert.Equal(Color.White, pattern.ColorAt(new Sphere(), new Point(0, 0, 1)));
            Assert.Equal(Color.White, pattern.ColorAt(new Sphere(), new Point(0, 0, 2)));
        }
        public void ColorAt_should_return_the_same_color_for_every_z_coordinate()
        {
            var pattern = new StripePattern(Colors.White, Colors.Black);

            pattern.ColorAt(new Point(0, 0, 0)).Should().Be(Colors.White);
            pattern.ColorAt(new Point(0, 0, 1)).Should().Be(Colors.White);
            pattern.ColorAt(new Point(0, 0, 2)).Should().Be(Colors.White);
        }
Ejemplo n.º 4
0
        public void Pattern_Is_Constant_In_Z_Axis()
        {
            var pattern    = new StripePattern(Color.White, Color.Black);
            var unitSphere = new Sphere();

            pattern.ColorAt(new Point(0, 0, 0), unitSphere).ShouldBe(Color.White);
            pattern.ColorAt(new Point(0, 0, 1), unitSphere).ShouldBe(Color.White);
            pattern.ColorAt(new Point(0, 0, 2), unitSphere).ShouldBe(Color.White);
        }
        public void ColorAt_should_alternate_colors_with_x_coordinates()
        {
            var pattern = new StripePattern(Colors.White, Colors.Black);

            pattern.ColorAt(new Point(0, 0, 0)).Should().Be(Colors.White);
            pattern.ColorAt(new Point(0.9, 0, 0)).Should().Be(Colors.White);
            pattern.ColorAt(new Point(1, 0, 0)).Should().Be(Colors.Black);
            pattern.ColorAt(new Point(-0.1, 0, 0)).Should().Be(Colors.Black);
            pattern.ColorAt(new Point(-1.1, 0, 0)).Should().Be(Colors.White);
        }
Ejemplo n.º 6
0
        public void Stripes_With_An_Object_Transformation()
        {
            var pattern = new StripePattern(Color.White, Color.Black);
            var sphere  = new Sphere(Matrix4X4.CreateScale(2, 2, 2));

            pattern.ColorAt(new Point(1.5, 0, 0), sphere).ShouldBe(Color.White);
        }
Ejemplo n.º 7
0
        public void ColorAtShapeShapeTransformation()
        {
            var sphere  = new Sphere(Matrix4x4.Scaling(2, 2, 2));
            var pattern = new StripePattern(SolidPattern.White, SolidPattern.Black);

            Assert.Equal(Color.White, pattern.ColorAt(sphere, new Point(1.5f, 0, 0)));
        }
Ejemplo n.º 8
0
        public void Stripe_With_Pattern_Transformation()
        {
            var pattern = new StripePattern(Color.White, Color.Black)
            {
                TransformMatrix = Matrix4X4.CreateScale(2, 2, 2),
            };

            pattern.ColorAt(new Point(1.5, 0, 0), new Sphere()).ShouldBe(Color.White);
        }
Ejemplo n.º 9
0
        public void Stripe_With_Pattern_And_Object_Transform()
        {
            var pattern = new StripePattern(Color.White, Color.Black)
            {
                TransformMatrix = Matrix4X4.CreateTranslation(0.5, 0, 0),
            };

            var sphere = new Sphere(Matrix4X4.CreateScale(2, 2, 2));

            pattern.ColorAt(new Point(2.5, 0, 0), sphere).ShouldBe(Color.White);
        }
        public void A_stripe_pattern_alternates_in_x()
        {
            var pattern = new StripePattern(Color.White, Color.Black);

            Assert.AreEqual(Color.White, pattern.ColorAt(Tuple.Point(0, 0, 0)));
            Assert.AreEqual(Color.White, pattern.ColorAt(Tuple.Point(0.9, 0, 0)));
            Assert.AreEqual(Color.Black, pattern.ColorAt(Tuple.Point(1, 0, 0)));
            Assert.AreEqual(Color.Black, pattern.ColorAt(Tuple.Point(-0.1, 0, 0)));
            Assert.AreEqual(Color.Black, pattern.ColorAt(Tuple.Point(-1, 0, 0)));
            Assert.AreEqual(Color.White, pattern.ColorAt(Tuple.Point(-1.1, 0, 0)));
        }
Ejemplo n.º 11
0
        public void ColorAtXDirection()
        {
            var pattern = new StripePattern();

            Assert.Equal(Color.White, pattern.ColorAt(new Sphere(), new Point(0, 0, 0)));
            Assert.Equal(Color.White, pattern.ColorAt(new Sphere(), new Point(0.9f, 0, 0)));
            Assert.Equal(Color.Black, pattern.ColorAt(new Sphere(), new Point(1, 0, 0)));
            Assert.Equal(Color.Black, pattern.ColorAt(new Sphere(), new Point(-0.1f, 0, 0)));
            Assert.Equal(Color.Black, pattern.ColorAt(new Sphere(), new Point(-1, 0, 0)));
            Assert.Equal(Color.White, pattern.ColorAt(new Sphere(), new Point(-1.1f, 0, 0)));
        }
Ejemplo n.º 12
0
        public void Pattern_Alternates_In_X_Axis()
        {
            var pattern    = new StripePattern(Color.White, Color.Black);
            var unitSphere = new Sphere();

            pattern.ColorAt(new Point(0, 0, 0), unitSphere).ShouldBe(Color.White);
            pattern.ColorAt(new Point(0.9, 0, 0), unitSphere).ShouldBe(Color.White);
            pattern.ColorAt(new Point(1, 0, 0), unitSphere).ShouldBe(Color.Black);
            pattern.ColorAt(new Point(2, 0, 0), unitSphere).ShouldBe(Color.White);
            pattern.ColorAt(new Point(-0.1, 0, 0), unitSphere).ShouldBe(Color.Black);
            pattern.ColorAt(new Point(-1.1, 0, 0), unitSphere).ShouldBe(Color.White);
        }
Ejemplo n.º 13
0
        private static void TestCase02()
        {
            // A stripe pattern is constant in y
            StripePattern pattern = new StripePattern(white, black);

            Assert.Equal(white, pattern.ColorAt(Tuple.Point(0, 0, 0)));
            Assert.Equal(white, pattern.ColorAt(Tuple.Point(0, 1, 0)));
            Assert.Equal(white, pattern.ColorAt(Tuple.Point(0, 2, 0)));

            // A stripe pattern is constant in z
            Assert.Equal(white, pattern.ColorAt(Tuple.Point(0, 0, 0)));
            Assert.Equal(white, pattern.ColorAt(Tuple.Point(0, 0, 1)));
            Assert.Equal(white, pattern.ColorAt(Tuple.Point(0, 0, 2)));

            // A stripe pattern alternates in x
            Assert.Equal(white, pattern.ColorAt(Tuple.Point(0, 0, 0)));
            Assert.Equal(white, pattern.ColorAt(Tuple.Point(0.9f, 0, 0)));
            Assert.Equal(black, pattern.ColorAt(Tuple.Point(1, 0, 0)));
            Assert.Equal(black, pattern.ColorAt(Tuple.Point(-0.1f, 0, 0)));
            Assert.Equal(black, pattern.ColorAt(Tuple.Point(-1, 0, 0)));
            Assert.Equal(white, pattern.ColorAt(Tuple.Point(-1.1f, 0, 0)));
        }