def test_BaseCharge_intersect(): q1 = np.array([[0, 1, 2, 0, 6], [2, 3, 4, -1, 4]]).T q2 = np.array([[0, -2, 6], [2, 3, 4]]).T Q1 = BaseCharge(charges=q1) Q2 = BaseCharge(charges=q2) res = Q1.intersect(Q2) np.testing.assert_allclose(res.charges, np.asarray([[0, 6], [2, 4]]).T)
def test_BaseCharge_intersect_return_indices(): q1 = np.array([[0, 1, 2, 0, 6], [2, 3, 4, -1, 4]]).T q2 = np.array([[-2, 0, 6], [3, 2, 4]]).T Q1 = BaseCharge(charges=q1) Q2 = BaseCharge(charges=q2) res, i1, i2 = Q1.intersect(Q2, return_indices=True) np.testing.assert_allclose(res.charges, np.asarray([[0, 6], [2, 4]]).T) np.testing.assert_allclose(i1, [0, 4]) np.testing.assert_allclose(i2, [1, 2])