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)
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)
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)
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)))
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))
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)
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)
def test_inherit_empty_from_empty(self): """Inherit empty bundle completely""" father = RB.RayBundle() child = father.inherit()