def test_zeroth_order_diffraction_equals_reflection(self): plane = Plane() ray = Rays([(A, B, -1)], [(0, 0, 1)], uniform(100, 1000)) reflection = plane.reflect(ray) diffraction = plane.diffract(ray, uniform(0.001, 0.002), 0) self.assertTrue(allclose(reflection.endpoints, diffraction.endpoints)) self.assertTrue(allclose(reflection.directions, diffraction.directions))
def test_reflect_miss(self): """Test that rays missing an element have NaN endpoints.""" plane = Plane() ray = Rays([(A+1, B, -1)], [(0, 0, 1)], None) reflection = plane.reflect(ray) self.assertTrue(all(isnan(reflection.endpoints[0])))
def test_reflect(self): plane = Plane() ray = Rays([(A, B, -1)], [(0, 0, 1)], None) reflection = plane.reflect(ray) self.assertTrue(allclose(reflection.endpoints, (A, B, 0))) self.assertTrue(allclose(reflection.directions, (0, 0, -1)))