def test_nonaa_cone_generate_contains(self): # Test arbitrarily aligned cone from lepton.domain import Cone cone = Cone((-20, 12.5, -2.1), (-30, -10.22, 5.602), 5.77) for i in range(20): x, y, z = cone.generate() self.failUnless((x, y, z) in cone, (x, y, z))
def test_nonaa_cone_generate_contains(self): # Test arbitrarily aligned cone from lepton.domain import Cone cone = Cone((-20, 12.5, -2.1), (-30, -10.22, 5.602), 5.77) for i in range(20): x, y, z = cone.generate() self.failUnless((x, y, z) in cone, (x, y ,z))
def test_hollow_cone_generate_contains(self): from lepton.domain import Cone cone = Cone((1, -2, -1), (1, -2, 3), 3, 1) for i in range(20): x, y, z = cone.generate() r = (z + 1) / 4.0 dist = math.sqrt(abs(x - 1)**2 + abs(y + 2)**2) self.failUnless(r <= dist <= r * 3, (x, y, z, r)) self.failUnless(-1 <= z <= 3, z) self.failUnless((x, y, z) in cone, (x, y, z)) self.failUnless((1, -2, -1) in cone) self.failUnless((1, -3.5, 3) in cone) self.failUnless((2, -2, 1) in cone) self.failIf((-1, -2, -0.9) in cone) self.failIf((1, -2, 3) in cone) self.failIf((-100, 0, 1000) in cone) self.failIf((0, 0, 0) in cone)
def test_solid_cone_generate_contains(self): from lepton.domain import Cone cone = Cone((-2, 0, 4), (-2, 2, 4), 2) for i in range(20): x, y, z = cone.generate() dist = math.sqrt(abs(x + 2)**2 + abs(z - 4)**2) self.failUnless(dist <= y * 2, (x, y, z)) self.failUnless(0 <= y <= 2, y) self.failUnless((x, y, z) in cone, (x, y, z)) self.failUnless((-2, 0, 4) in cone) self.failUnless((-2, 1, 4) in cone) self.failUnless((-2.5, 0.5, 4) in cone) self.failUnless((-2, 1, 5) in cone) self.failIf((-2.1, 0, 4) in cone) self.failIf((-2, 2.1, 4) in cone) self.failIf((-100, 0, 1000) in cone) self.failIf((0, 0, 0) in cone)
def test_hollow_cone_generate_contains(self): from lepton.domain import Cone cone = Cone((1, -2, -1), (1, -2, 3), 3, 1) for i in range(20): x, y, z = cone.generate() r = (z + 1) / 4.0 dist = math.sqrt(abs(x - 1)**2 + abs(y + 2)**2) self.failUnless(r <= dist <= r * 3 , (x, y, z, r)) self.failUnless(-1 <= z <= 3, z) self.failUnless((x, y, z) in cone, (x, y ,z)) self.failUnless((1, -2, -1) in cone) self.failUnless((1, -3.5, 3) in cone) self.failUnless((2, -2, 1) in cone) self.failIf((-1, -2, -0.9) in cone) self.failIf((1, -2, 3) in cone) self.failIf((-100, 0, 1000) in cone) self.failIf((0, 0, 0) in cone)
def test_solid_cone_generate_contains(self): from lepton.domain import Cone cone = Cone((-2, 0, 4), (-2, 2, 4), 2) for i in range(20): x, y, z = cone.generate() dist = math.sqrt(abs(x + 2)**2 + abs(z - 4)**2) self.failUnless(dist <= y * 2, (x, y, z)) self.failUnless(0 <= y <= 2, y) self.failUnless((x, y, z) in cone, (x, y ,z)) self.failUnless((-2, 0, 4) in cone) self.failUnless((-2, 1, 4) in cone) self.failUnless((-2.5, 0.5, 4) in cone) self.failUnless((-2, 1, 5) in cone) self.failIf((-2.1, 0, 4) in cone) self.failIf((-2, 2.1, 4) in cone) self.failIf((-100, 0, 1000) in cone) self.failIf((0, 0, 0) in cone)
def test_shell_cone_generate_contains(self): from lepton.domain import Cone cone = Cone((0, 0, 0), (-10, 0, 0), 3, 3) for i in range(20): x, y, z = cone.generate() r = -x * 3.0 / 10.0 dist = math.sqrt(abs(y)**2 + abs(z)**2) self.assertAlmostEqual(dist, r, 4) self.failUnless(-10 <= x <= 0, z) self.failUnless((x, y, z) in cone, (x, y, z)) self.failUnless((0, 0, 0) in cone) self.failUnless((-10, 3, 0) in cone) self.failUnless((-10, 0, 3) in cone) self.failUnless((-5, 0, 1.5) in cone) self.failIf((-10, 0, 0) in cone) self.failIf((0.1, 0, 0) in cone) self.failIf((-0.1, 0, 0) in cone) self.failIf((-100, 0, 1000) in cone)
def test_shell_cone_generate_contains(self): from lepton.domain import Cone cone = Cone((0, 0, 0), (-10, 0, 0), 3, 3) for i in range(20): x, y, z = cone.generate() r = -x * 3.0 / 10.0 dist = math.sqrt(abs(y)**2 + abs(z)**2) self.assertAlmostEqual(dist, r, 4) self.failUnless(-10 <= x <= 0, z) self.failUnless((x, y, z) in cone, (x, y ,z)) self.failUnless((0, 0, 0) in cone) self.failUnless((-10, 3, 0) in cone) self.failUnless((-10, 0, 3) in cone) self.failUnless((-5, 0, 1.5) in cone) self.failIf((-10, 0, 0) in cone) self.failIf((0.1, 0, 0) in cone) self.failIf((-0.1, 0, 0) in cone) self.failIf((-100, 0, 1000) in cone)