diff --git a/tests/test_box_Box.py b/tests/test_box_Box.py index f6f583e88..c810925b9 100644 --- a/tests/test_box_Box.py +++ b/tests/test_box_Box.py @@ -501,16 +501,35 @@ def test_to_and_from_box_lengths_and_angles(self): np.random.uniform(0, np.pi), np.random.uniform(0, np.pi), ) - box = freud.box.Box.from_box_lengths_and_angles( - *original_box_lengths_and_angles - ) - lengths_and_angles_computed = box.to_box_lengths_and_angles() - np.testing.assert_allclose( - lengths_and_angles_computed, - original_box_lengths_and_angles, - rtol=1e-6, - atol=1e-14, - ) + if ( + 1 + - np.cos(original_box_lengths_and_angles[4]) ** 2 + - ( + ( + np.cos(original_box_lengths_and_angles[3]) + - np.cos(original_box_lengths_and_angles[4]) + * np.cos(original_box_lengths_and_angles[5]) + ) + / np.sin(original_box_lengths_and_angles[5]) + ) + ** 2 + < 0 + ): + with pytest.raises(ValueError): + freud.box.Box.from_box_lengths_and_angles( + *original_box_lengths_and_angles + ) + else: + box = freud.box.Box.from_box_lengths_and_angles( + *original_box_lengths_and_angles + ) + lengths_and_angles_computed = box.to_box_lengths_and_angles() + np.testing.assert_allclose( + lengths_and_angles_computed, + original_box_lengths_and_angles, + rtol=1e-6, + atol=1e-14, + ) def test_matrix(self): box = freud.box.Box(2, 2, 2, 1, 0.5, 0.1)