def test_generate_pulse_waves(self): """ Tests :func:`colour.volume.spectrum.generate_pulse_waves` definition. """ np.testing.assert_array_equal( generate_pulse_waves(5), np.array([ [0.00000000, 0.00000000, 0.00000000, 0.00000000, 0.00000000], [1.00000000, 0.00000000, 0.00000000, 0.00000000, 0.00000000], [0.00000000, 1.00000000, 0.00000000, 0.00000000, 0.00000000], [0.00000000, 0.00000000, 1.00000000, 0.00000000, 0.00000000], [0.00000000, 0.00000000, 0.00000000, 1.00000000, 0.00000000], [0.00000000, 0.00000000, 0.00000000, 0.00000000, 1.00000000], [1.00000000, 1.00000000, 0.00000000, 0.00000000, 0.00000000], [0.00000000, 1.00000000, 1.00000000, 0.00000000, 0.00000000], [0.00000000, 0.00000000, 1.00000000, 1.00000000, 0.00000000], [0.00000000, 0.00000000, 0.00000000, 1.00000000, 1.00000000], [1.00000000, 0.00000000, 0.00000000, 0.00000000, 1.00000000], [1.00000000, 1.00000000, 1.00000000, 0.00000000, 0.00000000], [0.00000000, 1.00000000, 1.00000000, 1.00000000, 0.00000000], [0.00000000, 0.00000000, 1.00000000, 1.00000000, 1.00000000], [1.00000000, 0.00000000, 0.00000000, 1.00000000, 1.00000000], [1.00000000, 1.00000000, 0.00000000, 0.00000000, 1.00000000], [1.00000000, 1.00000000, 1.00000000, 1.00000000, 0.00000000], [0.00000000, 1.00000000, 1.00000000, 1.00000000, 1.00000000], [1.00000000, 0.00000000, 1.00000000, 1.00000000, 1.00000000], [1.00000000, 1.00000000, 0.00000000, 1.00000000, 1.00000000], [1.00000000, 1.00000000, 1.00000000, 0.00000000, 1.00000000], [1.00000000, 1.00000000, 1.00000000, 1.00000000, 1.00000000], ]))
class TestGeneratePulseWaves(unittest.TestCase): """ Define :func:`colour.volume.spectrum.generate_pulse_waves` definition unit tests methods. """ def test_generate_pulse_waves(self): """ Test :func:`colour.volume.spectrum.generate_pulse_waves` definition. """ np.testing.assert_array_equal( generate_pulse_waves(5), np.array( [ [0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 0.0], [0.0, 1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0, 0.0], [0.0, 0.0, 0.0, 1.0, 0.0], [0.0, 0.0, 0.0, 0.0, 1.0], [1.0, 1.0, 0.0, 0.0, 0.0], [0.0, 1.0, 1.0, 0.0, 0.0], [0.0, 0.0, 1.0, 1.0, 0.0], [0.0, 0.0, 0.0, 1.0, 1.0], [1.0, 0.0, 0.0, 0.0, 1.0], [1.0, 1.0, 1.0, 0.0, 0.0], [0.0, 1.0, 1.0, 1.0, 0.0], [0.0, 0.0, 1.0, 1.0, 1.0], [1.0, 0.0, 0.0, 1.0, 1.0], [1.0, 1.0, 0.0, 0.0, 1.0], [1.0, 1.0, 1.0, 1.0, 0.0], [0.0, 1.0, 1.0, 1.0, 1.0], [1.0, 0.0, 1.0, 1.0, 1.0], [1.0, 1.0, 0.0, 1.0, 1.0], [1.0, 1.0, 1.0, 0.0, 1.0], [1.0, 1.0, 1.0, 1.0, 1.0], ] ), ) np.testing.assert_array_equal( generate_pulse_waves(5, "Pulse Wave Width"), np.array( [ [0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 0.0], [1.0, 1.0, 0.0, 0.0, 0.0], [1.0, 1.0, 0.0, 0.0, 1.0], [1.0, 1.0, 1.0, 0.0, 1.0], [0.0, 1.0, 0.0, 0.0, 0.0], [0.0, 1.0, 1.0, 0.0, 0.0], [1.0, 1.0, 1.0, 0.0, 0.0], [1.0, 1.0, 1.0, 1.0, 0.0], [0.0, 0.0, 1.0, 0.0, 0.0], [0.0, 0.0, 1.0, 1.0, 0.0], [0.0, 1.0, 1.0, 1.0, 0.0], [0.0, 1.0, 1.0, 1.0, 1.0], [0.0, 0.0, 0.0, 1.0, 0.0], [0.0, 0.0, 0.0, 1.0, 1.0], [0.0, 0.0, 1.0, 1.0, 1.0], [1.0, 0.0, 1.0, 1.0, 1.0], [0.0, 0.0, 0.0, 0.0, 1.0], [1.0, 0.0, 0.0, 0.0, 1.0], [1.0, 0.0, 0.0, 1.0, 1.0], [1.0, 1.0, 0.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0, 1.0], ] ), ) np.testing.assert_equal( np.sort(generate_pulse_waves(5), axis=0), np.sort(generate_pulse_waves(5, "Pulse Wave Width"), axis=0), ) np.testing.assert_array_equal( generate_pulse_waves(5, "Pulse Wave Width", True), np.array( [ [0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 0.0], [1.0, 1.0, 0.0, 0.0, 1.0], [0.0, 1.0, 0.0, 0.0, 0.0], [1.0, 1.0, 1.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0, 0.0], [0.0, 1.0, 1.0, 1.0, 0.0], [0.0, 0.0, 0.0, 1.0, 0.0], [0.0, 0.0, 1.0, 1.0, 1.0], [0.0, 0.0, 0.0, 0.0, 1.0], [1.0, 0.0, 0.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0, 1.0], ] ), )