-
Gregory Ashton authored
- Also applies Black for future inclusion
Gregory Ashton authored- Also applies Black for future inclusion
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
calibration_test.py 2.38 KiB
from bilby.gw import calibration
import unittest
import numpy as np
class TestBaseClass(unittest.TestCase):
def setUp(self):
self.model = calibration.Recalibrate()
def tearDown(self):
del self.model
def test_repr(self):
expected = "Recalibrate(prefix={})".format("'recalib_'")
actual = repr(self.model)
self.assertEqual(expected, actual)
def test_calibration_factor(self):
frequency_array = np.linspace(20, 1024, 1000)
cal_factor = self.model.get_calibration_factor(frequency_array)
assert np.alltrue(cal_factor.real == np.ones_like(frequency_array))
class TestCubicSpline(unittest.TestCase):
def setUp(self):
self.prefix = "recalib_"
self.minimum_frequency = 20
self.maximum_frequency = 1024
self.n_points = 5
self.model = calibration.CubicSpline(
prefix=self.prefix,
minimum_frequency=self.minimum_frequency,
maximum_frequency=self.maximum_frequency,
n_points=self.n_points,
)
self.parameters = {
"recalib_{}_{}".format(param, ii): 0.0
for ii in range(5)
for param in ["amplitude", "phase"]
}
def tearDown(self):
del self.prefix
del self.minimum_frequency
del self.maximum_frequency
del self.n_points
del self.model
del self.parameters
def test_calibration_factor(self):
frequency_array = np.linspace(20, 1024, 1000)
cal_factor = self.model.get_calibration_factor(
frequency_array, **self.parameters
)
assert np.alltrue(cal_factor.real == np.ones_like(frequency_array))
def test_repr(self):
expected = "CubicSpline(prefix='{}', minimum_frequency={}, maximum_frequency={}, n_points={})".format(
self.prefix, self.minimum_frequency, self.maximum_frequency, self.n_points
)
actual = repr(self.model)
self.assertEqual(expected, actual)
class TestCubicSplineRequiresFourNodes(unittest.TestCase):
def test_cannot_instantiate_with_too_few_nodes(self):
for ii in range(6):
if ii < 4:
with self.assertRaises(ValueError):
calibration.CubicSpline("test", 1, 10, ii)
else:
calibration.CubicSpline("test", 1, 10, ii)
if __name__ == "__main__":
unittest.main()