public void TestRingPatternTransform() { var pattern = new RingPattern(_white, _black); Assert.AreEqual(_white, pattern.ColorAt(Tuple.Point(0, 0, 0))); Assert.AreEqual(_black, pattern.ColorAt(Tuple.Point(1, 0, 0))); Assert.AreEqual(_black, pattern.ColorAt(Tuple.Point(0, 0, 1))); Assert.AreEqual(_black, pattern.ColorAt(Tuple.Point(0.708, 0, 0.708))); }
public void ColorAt() { var pattern = new RingPattern(SolidPattern.White, SolidPattern.Black); Assert.Equal(Color.White, pattern.ColorAt(new Sphere(), Point.Zero)); Assert.Equal(Color.Black, pattern.ColorAt(new Sphere(), new Point(1, 0, 0))); Assert.Equal(Color.Black, pattern.ColorAt(new Sphere(), new Point(0, 0, 1))); Assert.Equal(Color.Black, pattern.ColorAt(new Sphere(), new Point(0.708f, 0, 0.708f))); }
public void A_ring_should_extend_in_both_x_and_z() { var pattern = new RingPattern(Color.White, Color.Black); Assert.AreEqual(Color.White, pattern.ColorAt(Tuple.Point(0, 0, 0))); Assert.AreEqual(Color.Black, pattern.ColorAt(Tuple.Point(1, 0, 0))); Assert.AreEqual(Color.Black, pattern.ColorAt(Tuple.Point(0, 0, 1))); Assert.AreEqual(Color.Black, pattern.ColorAt(Tuple.Point(0.708, 0, 0.708))); }
private static void TestCase06() { // A ring should extend in both x and z Pattern pattern = new RingPattern(white, black); Assert.Equal(white, pattern.ColorAt(Tuple.Point(0, 0, 0))); Assert.Equal(black, pattern.ColorAt(Tuple.Point(1, 0, 0))); Assert.Equal(black, pattern.ColorAt(Tuple.Point(0, 0, 1))); Assert.Equal(black, pattern.ColorAt(Tuple.Point(0.708f, 0, 0.708f))); }
public void Ring_Extend_In_Both_X_And_Z() { var pattern = new RingPattern(Color.White, Color.Black); var unitSphere = new Sphere(); pattern.ColorAt(new Point(0, 0, 0), unitSphere).ShouldBe(Color.White); pattern.ColorAt(new Point(1, 0, 0), unitSphere).ShouldBe(Color.Black); pattern.ColorAt(new Point(0, 0, 1), unitSphere).ShouldBe(Color.Black); pattern.ColorAt(new Point(0, 1, 0), unitSphere).ShouldBe(Color.White); pattern.ColorAt(new Point(0.708, 0, 0.708), unitSphere).ShouldBe(Color.Black); }
public void ColorAt_should_extend_in_both_x_and_z() { var pattern = new RingPattern(Colors.White, Colors.Black); pattern.ColorAt(new Point(0, 0, 0)).Should().Be(Colors.White); pattern.ColorAt(new Point(1, 0, 0)).Should().Be(Colors.Black); pattern.ColorAt(new Point(0, 0, 1)).Should().Be(Colors.Black); // 0.708 is just slightly more than sqrt(2)/2 pattern.ColorAt(new Point(0.708, 0, 0.708)).Should().Be(Colors.Black); }