def test_lighting_with_a_pattern_applied(self): sp = StripePattern(Color(1, 1, 1), Color(0, 0, 0)) m = Material() m.pattern = sp m.ambient = 1 m.diffuse = 0 m.specular = 0 eyev = Vector(0, 0, -1) normalv = Vector(0, 0, -1) light = Light(Point(0, 0, -10), Color(1, 1, 1)) c1 = m.lighting(Sphere(), light, Point(0.9, 0, 0), eyev, normalv, False) c2 = m.lighting(Sphere(), light, Point(1.1, 0, 0), eyev, normalv, False) self.assertTrue(c1.equals(Color(1, 1, 1))) self.assertTrue(c2.equals(Color(0, 0, 0)))
def test_shadow7(self): eyev = Vector(0, 0, -1) normalv = Vector(0, 0, -1) light = Light(Point(0, 0, -10), Color(1, 1, 1)) in_shadow = True m = Material() result = m.lighting(Sphere(), light, Point(0, 0, 0), eyev, normalv, in_shadow) self.assertTrue(result.equals(Color(0.1, 0.1, 0.1)))
def test_material6(self): position = Point(0, 0, 0) m = Material() eyev = Vector(0, 0, -1) normalv = Vector(0, 0, -1) light = Light(Point(0, 0, 10), Color(1, 1, 1)) in_shadow = False result = m.lighting(Sphere(), light, position, eyev, normalv, in_shadow) self.assertTrue(Color(0.1, 0.1, 0.1).equals(result))