def test__init__(self): """ Tests :func:`colour.continuous.signal.Signal.__init__` method. """ signal = Signal(self._range) np.testing.assert_array_equal(signal.domain, np.arange(0, 10, 1)) np.testing.assert_array_equal(signal.range, self._range) signal = Signal(self._range, self._domain) np.testing.assert_array_equal(signal.domain, self._domain) np.testing.assert_array_equal(signal.range, self._range) signal = Signal(dict(zip(self._domain, self._range))) np.testing.assert_array_equal(signal.domain, self._domain) np.testing.assert_array_equal(signal.range, self._range) signal = Signal(signal) np.testing.assert_array_equal(signal.domain, self._domain) np.testing.assert_array_equal(signal.range, self._range) if is_pandas_installed(): from pandas import Series signal = Signal(Series(dict(zip(self._domain, self._range)))) np.testing.assert_array_equal(signal.domain, self._domain) np.testing.assert_array_equal(signal.range, self._range)
def test_signal_unpack_data(self): """ Tests :func:`colour.continuous.signal.Signal.signal_unpack_data` method. """ domain, range_ = Signal.signal_unpack_data(self._range) np.testing.assert_array_equal(range_, self._range) np.testing.assert_array_equal(domain, np.arange(0, 10, 1)) domain, range_ = Signal.signal_unpack_data(self._range, self._domain) np.testing.assert_array_equal(range_, self._range) np.testing.assert_array_equal(domain, self._domain) domain, range_ = Signal.signal_unpack_data( dict(zip(self._domain, self._range))) np.testing.assert_array_equal(range_, self._range) np.testing.assert_array_equal(domain, self._domain) domain, range_ = Signal.signal_unpack_data( Signal(self._range, self._domain)) np.testing.assert_array_equal(range_, self._range) np.testing.assert_array_equal(domain, self._domain) if is_pandas_installed(): from pandas import Series domain, range_ = Signal.signal_unpack_data( Series(dict(zip(self._domain, self._range)))) np.testing.assert_array_equal(range_, self._range) np.testing.assert_array_equal(domain, self._domain)
def test__repr__(self): """ Tests :func:`colour.continuous.signal.Signal.__repr__` method. """ self.assertEqual( re.sub(r'extrapolator_args={.*}', 'extrapolator_args={...}', repr(self._signal)), textwrap.dedent(""" Signal([[ 0., 10.], [ 1., 20.], [ 2., 30.], [ 3., 40.], [ 4., 50.], [ 5., 60.], [ 6., 70.], [ 7., 80.], [ 8., 90.], [ 9., 100.]], interpolator=KernelInterpolator, interpolator_args={}, extrapolator=Extrapolator, extrapolator_args={...})""")[1:]) self.assertIsInstance(repr(Signal()), string_types)
def test_raise_exception_function(self): """ Tests :func:`colour.continuous.signal.Signal.function` property raised exception. """ self.assertRaises(RuntimeError, Signal().function, 0)
def setUp(self): """Initialise the common tests attributes.""" self._range = np.linspace(10, 100, 10) self._domain = np.arange(100, 1100, 100) self._signal = Signal(self._range)
def test_to_series(self): """Test :func:`colour.continuous.signal.Signal.to_series` method.""" if is_pandas_installed(): from pandas import Series self.assertEqual( Signal(self._range, self._domain).to_series().all(), Series(dict(zip(self._domain, self._range))).all(), )
def test__str__(self): """Test :func:`colour.continuous.signal.Signal.__str__` method.""" self.assertEqual( str(self._signal), textwrap.dedent(""" [[ 0. 10.] [ 1. 20.] [ 2. 30.] [ 3. 40.] [ 4. 50.] [ 5. 60.] [ 6. 70.] [ 7. 80.] [ 8. 90.] [ 9. 100.]]""")[1:], ) self.assertIsInstance(str(Signal()), str)