Coverage for colour/plotting/tests/test_quality.py: 100%
44 statements
« prev ^ index » next coverage.py v7.11.0, created at 2025-11-15 19:01 +1300
« prev ^ index » next coverage.py v7.11.0, created at 2025-11-15 19:01 +1300
1"""Define the unit tests for the :mod:`colour.plotting.quality` module."""
3from __future__ import annotations
5from matplotlib.axes import Axes
6from matplotlib.figure import Figure
8from colour.colorimetry import (
9 SDS_ILLUMINANTS,
10 SDS_LIGHT_SOURCES,
11 SpectralShape,
12 reshape_sd,
13)
14from colour.plotting import (
15 plot_multi_sds_colour_quality_scales_bars,
16 plot_multi_sds_colour_rendering_indexes_bars,
17 plot_single_sd_colour_quality_scale_bars,
18 plot_single_sd_colour_rendering_index_bars,
19)
20from colour.plotting.quality import plot_colour_quality_bars
21from colour.quality import colour_quality_scale
23__author__ = "Colour Developers"
24__copyright__ = "Copyright 2013 Colour Developers"
25__license__ = "BSD-3-Clause - https://opensource.org/licenses/BSD-3-Clause"
26__maintainer__ = "Colour Developers"
27__email__ = "colour-developers@colour-science.org"
28__status__ = "Production"
30__all__ = [
31 "TestPlotColourQualityBars",
32 "TestPlotSingleSdColourRenderingIndexBars",
33 "TestPlotMultiSdsColourRenderingIndexesBars",
34 "TestPlotSingleSdColourQualityScaleBars",
35 "TestPlotMultiSdsColourQualityScalesBars",
36]
39class TestPlotColourQualityBars:
40 """
41 Define :func:`colour.plotting.quality.plot_colour_quality_bars` definition
42 unit tests methods.
43 """
45 def test_plot_colour_quality_bars(self) -> None:
46 """
47 Test :func:`colour.plotting.quality.plot_colour_quality_bars`
48 definition.
49 """
51 illuminant = SDS_ILLUMINANTS["FL2"]
52 light_source = SDS_LIGHT_SOURCES["Kinoton 75P"]
53 light_source = reshape_sd(light_source, SpectralShape(360, 830, 1))
54 cqs_i = colour_quality_scale(illuminant, additional_data=True)
55 cqs_l = colour_quality_scale(light_source, additional_data=True)
57 figure, axes = plot_colour_quality_bars([cqs_i, cqs_l])
59 assert isinstance(figure, Figure)
60 assert isinstance(axes, Axes)
63class TestPlotSingleSdColourRenderingIndexBars:
64 """
65 Define :func:`colour.plotting.quality.\
66plot_single_sd_colour_rendering_index_bars` definition unit tests methods.
67 """
69 def test_plot_single_sd_colour_rendering_index_bars(self) -> None:
70 """
71 Test :func:`colour.plotting.quality.\
72plot_single_sd_colour_rendering_index_bars` definition.
73 """
75 figure, axes = plot_single_sd_colour_rendering_index_bars(
76 SDS_ILLUMINANTS["FL2"]
77 )
79 assert isinstance(figure, Figure)
80 assert isinstance(axes, Axes)
83class TestPlotMultiSdsColourRenderingIndexesBars:
84 """
85 Define :func:`colour.plotting.quality.\
86plot_multi_sds_colour_rendering_indexes_bars` definition unit tests methods.
87 """
89 def test_plot_multi_sds_colour_rendering_indexes_bars(self) -> None:
90 """
91 Test :func:`colour.plotting.quality.\
92plot_multi_sds_colour_rendering_indexes_bars` definition.
93 """
95 figure, axes = plot_multi_sds_colour_rendering_indexes_bars(
96 [SDS_ILLUMINANTS["FL2"], SDS_LIGHT_SOURCES["Kinoton 75P"]]
97 )
99 assert isinstance(figure, Figure)
100 assert isinstance(axes, Axes)
103class TestPlotSingleSdColourQualityScaleBars:
104 """
105 Define :func:`colour.plotting.quality.\
106plot_single_sd_colour_quality_scale_bars` definition unit tests methods.
107 """
109 def test_plot_single_sd_colour_quality_scale_bars(self) -> None:
110 """
111 Test :func:`colour.plotting.quality.\
112plot_single_sd_colour_quality_scale_bars` definition.
113 """
115 figure, axes = plot_single_sd_colour_quality_scale_bars(SDS_ILLUMINANTS["FL2"])
117 assert isinstance(figure, Figure)
118 assert isinstance(axes, Axes)
121class TestPlotMultiSdsColourQualityScalesBars:
122 """
123 Define :func:`colour.plotting.quality.\
124plot_multi_sds_colour_quality_scales_bars` definition unit tests methods.
125 """
127 def test_plot_multi_sds_colour_quality_scales_bars(self) -> None:
128 """
129 Test :func:`colour.plotting.quality.\
130plot_multi_sds_colour_quality_scales_bars` definition.
131 """
133 figure, axes = plot_multi_sds_colour_quality_scales_bars(
134 [SDS_ILLUMINANTS["FL2"], SDS_LIGHT_SOURCES["Kinoton 75P"]]
135 )
137 assert isinstance(figure, Figure)
138 assert isinstance(axes, Axes)