예제 #1
0
    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],
            ]))
예제 #2
0
    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],
            ]))
예제 #3
0
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],
            ]
        ),
    )