from pytest import approx

from mdevaluate import pbc
import numpy as np


def test_pbc_diff():
    x = np.random.rand(10, 3)
    y = np.random.rand(10, 3)
    box = np.ones((3,))

    assert (pbc.pbc_diff(x, x, box) == approx(0))
    dxy = (pbc.pbc_diff(x, y, box)**2).sum(axis=1)**0.5
    assert (dxy <= 0.75**0.5).all()
