def test_get_abs(capsys): # Check some cases # general, x/y-pl, x/z-pl x ang = [[np.pi / 4, np.pi / 4], [np.pi / 6, 0], [0, np.pi / 3], [0, 0]] # Results for EE, ME, EM, MM res = [[11, 12, 13, 21, 22, 23, 31, 32, 33], [11, 12, 13, 21, 22, 23], [11, 12, 13, 31, 32, 33], [11, 12, 13], [11, 12, 21, 22, 31, 32], [11, 12, 21, 22], [11, 12, 31, 32], [11, 12], [11, 13, 21, 23, 31, 33], [11, 13, 21, 23], [11, 13, 31, 33], [11, 13], [11, 21, 31], [11, 21], [11, 31], [11], [14, 24, 34, 15, 25, 35, 16, 26, 36], [14, 24, 34, 15, 25, 35], [14, 24, 34, 16, 26, 36], [14, 24, 34], [14, 24, 15, 25, 16, 26], [14, 24, 15, 25], [14, 24, 16, 26], [14, 24], [14, 34, 15, 35, 16, 36], [14, 34, 15, 35], [14, 34, 16, 36], [14, 34], [14, 15, 16], [14, 15], [14, 16], [14], [14, 15, 16, 24, 25, 26, 34, 35, 36], [14, 15, 16, 24, 25, 26], [14, 15, 16, 34, 35, 36], [14, 15, 16], [14, 15, 24, 25, 34, 35], [14, 15, 24, 25], [14, 15, 34, 35], [14, 15], [14, 16, 24, 26, 34, 36], [14, 16, 24, 26], [14, 16, 34, 36], [14, 16], [14, 24, 34], [14, 24], [14, 34], [14], [11, 12, 13, 21, 22, 23, 31, 32, 33], [11, 12, 13, 21, 22, 23], [11, 12, 13, 31, 32, 33], [11, 12, 13], [11, 12, 21, 22, 31, 32], [11, 12, 21, 22], [11, 12, 31, 32], [11, 12], [11, 13, 21, 23, 31, 33], [11, 13, 21, 23], [11, 13, 31, 33], [11, 13], [11, 21, 31], [11, 21], [11, 31], [11]] i = 0 for msrc in [False, True]: for mrec in [False, True]: for src in ang: for rec in ang: out = utils.get_abs(msrc, mrec, src[0], src[1], rec[0], rec[1], 0) assert_allclose(out, res[i]) i += 1 # Check some more # y/z-plane, z-dir ang = [[np.pi / 2, 0], [0, np.pi / 2]] # Results for EE, ME, EM, MM res = [[22], [32], [23], [33], [25], [26], [35], [36], [25], [35], [26], [36], [22], [32], [23], [33]] i = 0 for msrc in [False, True]: for mrec in [False, True]: for src in ang: for rec in ang: out = utils.get_abs(msrc, mrec, src[0], src[1], rec[0], rec[1], 0) assert_allclose(out, res[i]) i += 1 # Check print statement _ = utils.get_abs(True, True, 90, 0, 0, 90, 3) out, _ = capsys.readouterr() assert out == " Required ab's : 11 12 31 32\n"
def test_get_abs(capsys): # Check some cases # general, x/y-pl, x/z-pl x ang = [[np.pi / 4, np.pi / 4], [np.pi / 6, 0], [0, np.pi / 3], [0, 0]] # Results for EE, ME, EM, MM res = [[11, 12, 13, 21, 22, 23, 31, 32, 33], [11, 12, 13, 21, 22, 23], [11, 12, 13, 31, 32, 33], [11, 12, 13], [11, 12, 21, 22, 31, 32], [11, 12, 21, 22], [11, 12, 31, 32], [11, 12], [11, 13, 21, 23, 31, 33], [11, 13, 21, 23], [11, 13, 31, 33], [11, 13], [11, 21, 31], [11, 21], [11, 31], [11], [14, 24, 34, 15, 25, 35, 16, 26, 36], [14, 24, 34, 15, 25, 35], [14, 24, 34, 16, 26, 36], [14, 24, 34], [14, 24, 15, 25, 16, 26], [14, 24, 15, 25], [14, 24, 16, 26], [14, 24], [14, 34, 15, 35, 16, 36], [14, 34, 15, 35], [14, 34, 16, 36], [14, 34], [14, 15, 16], [14, 15], [14, 16], [14], [14, 15, 16, 24, 25, 26, 34, 35, 36], [14, 15, 16, 24, 25, 26], [14, 15, 16, 34, 35, 36], [14, 15, 16], [14, 15, 24, 25, 34, 35], [14, 15, 24, 25], [14, 15, 34, 35], [14, 15], [14, 16, 24, 26, 34, 36], [14, 16, 24, 26], [14, 16, 34, 36], [14, 16], [14, 24, 34], [14, 24], [14, 34], [14], [11, 12, 13, 21, 22, 23, 31, 32, 33], [11, 12, 13, 21, 22, 23], [11, 12, 13, 31, 32, 33], [11, 12, 13], [11, 12, 21, 22, 31, 32], [11, 12, 21, 22], [11, 12, 31, 32], [11, 12], [11, 13, 21, 23, 31, 33], [11, 13, 21, 23], [11, 13, 31, 33], [11, 13], [11, 21, 31], [11, 21], [11, 31], [11]] i = 0 for msrc in [False, True]: for mrec in [False, True]: for src in ang: for rec in ang: out = utils.get_abs(msrc, mrec, src[0], src[1], rec[0], rec[1], 0) assert_allclose(out, res[i]) i += 1 # Check some more # y/z-plane, z-dir ang = [[np.pi / 2, 0], [0, np.pi / 2]] # Results for EE, ME, EM, MM res = [[22], [32], [23], [33], [25], [26], [35], [36], [25], [35], [26], [36], [22], [32], [23], [33]] i = 0 for msrc in [False, True]: for mrec in [False, True]: for src in ang: for rec in ang: out = utils.get_abs(msrc, mrec, src[0], src[1], rec[0], rec[1], 0) assert_allclose(out, res[i]) i += 1 # Check print statement _ = utils.get_abs(True, True, 90, 0, 0, 90, 3) out, _ = capsys.readouterr() assert out == " Required ab's : 11 12 31 32\n" # Assure that for different, but aligned angles, they are not deleted. ab_calc = utils.get_abs(False, False, np.array([0., np.pi / 2]), np.array([0., 0.]), np.array([0.]), np.array([0.]), 0) assert_allclose(ab_calc, [11, 12]) ab_calc = utils.get_abs(False, False, np.array([0., 0.]), np.array([3 * np.pi / 2, np.pi]), np.array([0.]), np.array([0.]), 0) assert_allclose(ab_calc, [11, 13]) ab_calc = utils.get_abs(False, False, np.array([0.]), np.array([0.]), np.array([0., np.pi / 2]), np.array([0., 0.]), 0) assert_allclose(ab_calc, [11, 21]) ab_calc = utils.get_abs(False, False, np.array([0.]), np.array([0.]), np.array([0., 0.]), np.array([3 * np.pi / 2, np.pi]), 0) assert_allclose(ab_calc, [11, 31])