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); }
public void Ctor_should_store_the_two_colors_for_the_stripe() { var pattern = new StripePattern(Colors.White, Colors.Black); pattern.Pattern1.Should().BeEquivalentTo(new SolidColorPattern(Colors.White)); pattern.Pattern2.Should().BeEquivalentTo(new SolidColorPattern(Colors.Black)); }
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))); }
public void CreateStripePattern() { var pat = new StripePattern(white, black); Assert.Equal(white, pat.A); Assert.Equal(black, pat.B); }
public void StripePattern() { var p = new StripePattern(Color.White, Color.Black); Assert.That.VectorsAreEqual(p.A, Color.White); Assert.That.VectorsAreEqual(p.B, Color.Black); }
public void Creating_a_stripe_pattern() { var pattern = new StripePattern(Color.White, Color.Black); Assert.AreEqual(Color.White, pattern.Color1); Assert.AreEqual(Color.Black, pattern.Color2); }
public void ShouldCreateStripePattern() { var pattern = new StripePattern(VColor.White, VColor.Black); AssertActualEqualToExpected(pattern.A, VColor.White); AssertActualEqualToExpected(pattern.B, VColor.Black); }
private static void TestCase04() { // Stripes with an object transformation Shape obj = new Sphere(); obj.Transform = Transformation.Scaling(2, 2, 2); Pattern pattern = new StripePattern(white, black); Tuple c = pattern.ColorAtShape(obj, Tuple.Point(1.5f, 0, 0)); Assert.Equal(white, c); // Stripes with a pattern transformation obj.Transform = Matrix.Identity(); pattern.Transform = Transformation.Scaling(2, 2, 2); c = pattern.ColorAtShape(obj, Tuple.Point(1.5f, 0, 0)); Assert.Equal(white, c); // Stripes with both an object and a pattern transformation obj.Transform = Transformation.Scaling(2, 2, 2); pattern.Transform = Transformation.Translation(0.5f, 0, 0); c = pattern.ColorAtShape(obj, Tuple.Point(2.5f, 0, 0)); Assert.Equal(white, c); }
public void T03_LightingPattern() { if (Scene.current != null) { Scene.current.Clear(); } Sphere sphere = new Sphere(); StripePattern pattern = new StripePattern(new SolidColorPattern(Color.white), new SolidColorPattern(Color.black)); Material material = new Material(); material.pattern = pattern; material.Ambient = 1.0; material.Diffuse = 0.0; material.Specular = 0.0; sphere.material = material; Vector eye = new Vector(0, 0, -1); Vector normal = new Vector(0, 0, -1); Light light = new Light(new Point(0, 0, -10), new Color(1, 1, 1)); Color c1 = sphere.Lighting(new Point(0.9, 0, 0), light, eye, normal, false); Color c2 = sphere.Lighting(new Point(1.1, 0, 0), light, eye, normal, false); Assert.AreEqual(Color.white, c1); Assert.AreEqual(Color.black, c2); }
public void T04_StripeTransformation() { if (Scene.current != null) { Scene.current.Clear(); } Sphere sphere = new Sphere(); sphere.SetMatrix(Mat4.ScaleMatrix(2, 2, 2)); StripePattern pattern = new StripePattern(new SolidColorPattern(Color.white), new SolidColorPattern(Color.black)); Color color = pattern.PatternAtObject(sphere, new Point(1.5, 0, 0)); Assert.AreEqual(Color.white, color); sphere.SetMatrix(new Mat4()); pattern.matrix = Mat4.ScaleMatrix(2, 2, 2); color = pattern.PatternAtObject(sphere, new Point(1.5, 0, 0)); Assert.AreEqual(Color.white, color); sphere.SetMatrix(Mat4.ScaleMatrix(2, 2, 2)); pattern.matrix = Mat4.TranslateMatrix(0.5, 0, 0); color = pattern.PatternAtObject(sphere, new Point(2.5, 0, 0)); Assert.AreEqual(Color.white, color); }
public void CreatingAStripePattern() { var pattern = new StripePattern(Color.WHITE, Color.BLACK); Assert.AreEqual(Color.WHITE, pattern.a); Assert.AreEqual(Color.BLACK, pattern.b); }
public void TestPatternCreate() { var pattern = new StripePattern(Color.White, Color.Black); Assert.AreEqual(pattern.a, Color.White); Assert.AreEqual(pattern.b, Color.Black); }
public void CreatingStripePattern() { var pattern = new StripePattern(ColourFactory.Black, ColourFactory.White); Assert.AreEqual(ColourFactory.Black, pattern.A); Assert.AreEqual(ColourFactory.White, pattern.B); }
public void StripPatternIsConstantZ() { var pattern = new StripePattern(ColourFactory.White, ColourFactory.Black); Assert.AreEqual(ColourFactory.White, pattern.PatternAt(new Point(0, 0, 0))); Assert.AreEqual(ColourFactory.White, pattern.PatternAt(new Point(0, 0, 1))); Assert.AreEqual(ColourFactory.White, pattern.PatternAt(new Point(0, 0, 2))); }
private static void TestCase01() { // Creating a stripe pattern StripePattern pattern = new StripePattern(white, black); Assert.Equal(white, pattern.FirstColor); Assert.Equal(black, pattern.SecondColor); }
public void T01_StripePattern() { StripePattern pattern = new StripePattern(new SolidColorPattern(Color.white), new SolidColorPattern(Color.black)); Assert.AreEqual(Color.white, pattern.a.PatternAt(new Point())); Assert.AreEqual(Color.black, pattern.b.PatternAt(new Point())); }
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); }
public void StripesEverythingTransformed() { var s = new Sphere(Scale(2f)); var p = new StripePattern(Color.White, Color.Black, Scale(2f)); var c = p.ColorAtEntity(s, Point(1.5f, 0f, 0f)); Assert.That.VectorsAreEqual(c, Color.White); }
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))); }
public void TestPatternZ() { var pattern = new StripePattern(Color.White, Color.Black); Assert.AreEqual(pattern.PatternAt(Point.Zero), Color.White); Assert.AreEqual(pattern.PatternAt(Point.PointZ), Color.White); Assert.AreEqual(pattern.PatternAt(new Point(0, 0, 2)), Color.White); }
public void Constructor() { var pattern = new StripePattern(); Assert.Equal(2, pattern.Patterns.Length); Assert.Equal(Color.White, ((SolidPattern)pattern.Patterns[0]).Color); Assert.Equal(Color.Black, ((SolidPattern)pattern.Patterns[1]).Color); }
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 StripePatternIsConstantInZ() { var pat = new StripePattern(white, black); Assert.Equal(white, pat.GetColor(Vector4.CreatePosition(0, 0, 0))); Assert.Equal(white, pat.GetColor(Vector4.CreatePosition(0, 0, 1))); Assert.Equal(white, pat.GetColor(Vector4.CreatePosition(0, 0, 2))); }
public void StripePatternShouldAlternateInX(float x, bool shouldBeWhite) { var pattern = new StripePattern(VColor.White, VColor.Black); AssertActualEqualToExpected( pattern.GetColorAt(CreatePoint(x, 0, 0)), shouldBeWhite ? VColor.White : VColor.Black); }
public void StripePatternConstantInZ() { var p = new StripePattern(Color.White, Color.Black); Assert.That.VectorsAreEqual(p.At(Point(0f, 0f, 0f)), Color.White); Assert.That.VectorsAreEqual(p.At(Point(0f, 0f, 1f)), Color.White); Assert.That.VectorsAreEqual(p.At(Point(0f, 0f, 2f)), Color.White); }
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 AStripePatternIsConstantInY() { var shape = new Sphere(); var pattern = new StripePattern(Color.WHITE, Color.BLACK); Assert.AreEqual(Color.WHITE, pattern.PatternAtObject(shape, new Point(0, 0, 0))); Assert.AreEqual(Color.WHITE, pattern.PatternAtObject(shape, new Point(0, 1, 0))); Assert.AreEqual(Color.WHITE, pattern.PatternAtObject(shape, new Point(0, 2, 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); }
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); }
public void StripePatternAlternatesInZ() { var p = new StripePattern(Color.White, Color.Black); Assert.That.VectorsAreEqual(p.At(Point(0f, 0f, 0f)), Color.White); Assert.That.VectorsAreEqual(p.At(Point(.9f, 0f, 0f)), Color.White); Assert.That.VectorsAreEqual(p.At(Point(1f, 0f, 0f)), Color.Black); Assert.That.VectorsAreEqual(p.At(Point(-1f, 0f, 0f)), Color.Black); Assert.That.VectorsAreEqual(p.At(Point(-.1f, 0f, 0f)), Color.Black); Assert.That.VectorsAreEqual(p.At(Point(-1.1f, 0f, 0f)), Color.White); }