OpenMC/tests/unit_tests/__init__.py

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

26 lines
769 B
Python
Raw Permalink Normal View History

2019-09-05 16:30:42 -05:00
import shutil
2018-01-31 16:17:42 -06:00
import numpy as np
import pytest
2019-09-05 16:30:42 -05:00
# Check if NJOY is available
needs_njoy = pytest.mark.skipif(shutil.which('njoy') is None,
reason="NJOY not installed")
2018-01-31 16:17:42 -06:00
def assert_unbounded(obj):
"""Assert that a region/cell is unbounded."""
ll, ur = obj.bounding_box
assert ll == pytest.approx((-np.inf, -np.inf, -np.inf))
assert ur == pytest.approx((np.inf, np.inf, np.inf))
def assert_sample_mean(samples, expected_mean):
# Calculate sample standard deviation
std_dev = samples.std() / np.sqrt(samples.size - 1)
# Means should agree within 4 sigma 99.993% of the time. Note that this is
# expected to fail about 1 out of 16,000 times
assert np.abs(expected_mean - samples.mean()) < 4*std_dev