예제 #1
0
 def test_concat(self):
     r1 = RB.RayBundle(N.ones((3, 4)), N.ones((3, 4)))
     r2 = RB.RayBundle(N.zeros((3, 4)), N.zeros((3, 4)))
     con = RB.concatenate_rays((r1, r2))
     correct = N.hstack((N.ones((3, 4)), N.zeros((3, 4))))
     N.testing.assert_array_equal(con.get_vertices(), correct)
     N.testing.assert_array_equal(con.get_directions(), correct)
예제 #2
0
 def test_extra_prop(self):
     r1 = RB.RayBundle(N.ones((3, 4)),
                       N.ones((3, 4)),
                       wavelen=N.ones((3, 4)))
     r2 = RB.RayBundle(N.zeros((3, 4)),
                       N.zeros((3, 4)),
                       wavelen=N.zeros((3, 4)))
     con = RB.concatenate_rays((r1, r2))
     correct = N.hstack((N.ones((3, 4)), N.zeros((3, 4))))
     N.testing.assert_array_equal(con.get_wavelen(), correct)
예제 #3
0
    def test_extra_property(self):
        pos = N.ones((3, 4))
        direct = N.zeros((3, 4))
        wavelength = N.arange(4)

        father = RB.RayBundle(pos, direct, wavelength=wavelength)
        child = father.inherit()

        N.testing.assert_array_equal(child.get_wavelength(), wavelength)
예제 #4
0
    def test_inherit_part_from_full(self):
        """Inherit part of a populated bundle"""
        pos = N.ones((3, 4))
        dir = N.zeros((3, 4))

        father = RB.RayBundle(pos, dir)
        child = father.inherit(selector=N.r_[0, 1], direction=N.ones((3, 2)))

        N.testing.assert_array_equal(child.get_vertices(), pos[:, [0, 1]])
        N.testing.assert_array_equal(child.get_directions(), N.ones((3, 2)))
예제 #5
0
    def test_delete_rays(self):
        """delete_rays() does its job"""
        pos = N.ones((3, 4))
        direct = N.zeros((3, 4))
        prn = N.arange(4)

        father = RB.RayBundle(pos, direct, parents=prn)
        child = father.delete_rays(N.r_[0])

        N.testing.assert_array_equal(child.get_vertices(), N.ones((3, 3)))
        N.testing.assert_array_equal(child.get_directions(), N.zeros((3, 3)))
        N.testing.assert_array_equal(child.get_parents(), N.arange(1, 4))
예제 #6
0
    def test_inherit_full_from_full(self):
        """Inherit a populated bundle from otherwise-populated bundle"""
        pos = N.ones((3, 4))
        dir = N.zeros((3, 4))
        energy = N.ones(4)
        ref_ind = N.zeros(4)
        prn = N.ones(4)

        father = RB.RayBundle(pos, dir, energy, prn, ref_ind)
        child = father.inherit(N.s_[:], dir, pos, prn, energy, N.ones(4) * 5)

        N.testing.assert_array_equal(child.get_vertices(), dir)
        N.testing.assert_array_equal(child.get_directions(), pos)
        N.testing.assert_array_equal(child.get_energy(), prn)
        N.testing.assert_array_equal(child.get_ref_index(), N.ones(4) * 5)
        N.testing.assert_array_equal(child.get_parents(), energy)
예제 #7
0
    def test_inherit_empty_from_full(self):
        """Inherit a populated bundle completely"""
        pos = N.ones((3, 4))
        dir = N.zeros((3, 4))
        energy = N.ones(4)
        ref_ind = N.zeros(4)
        prn = N.ones(4)

        father = RB.RayBundle(pos, dir, energy, prn, ref_ind)
        child = father.inherit()

        N.testing.assert_array_equal(child.get_vertices(), pos)
        N.testing.assert_array_equal(child.get_directions(), dir)
        N.testing.assert_array_equal(child.get_energy(), energy)
        N.testing.assert_array_equal(child.get_ref_index(), ref_ind)
        N.testing.assert_array_equal(child.get_parents(), prn)
예제 #8
0
 def test_inherit_empty_from_empty(self):
     """Inherit empty bundle completely"""
     father = RB.RayBundle()
     child = father.inherit()