# {py:mod}`simvx.graphics.testing` ```{py:module} simvx.graphics.testing ``` ```{autodoc2-docstring} simvx.graphics.testing :allowtitles: ``` ## Module Contents ### Classes ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`ScreenshotReport ` - ```{autodoc2-docstring} simvx.graphics.testing.ScreenshotReport :summary: ``` * - {py:obj}`VisualRegression ` - ```{autodoc2-docstring} simvx.graphics.testing.VisualRegression :summary: ``` ```` ### Functions ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`assert_pixel ` - ```{autodoc2-docstring} simvx.graphics.testing.assert_pixel :summary: ``` * - {py:obj}`color_ratio ` - ```{autodoc2-docstring} simvx.graphics.testing.color_ratio :summary: ``` * - {py:obj}`assert_color_ratio ` - ```{autodoc2-docstring} simvx.graphics.testing.assert_color_ratio :summary: ``` * - {py:obj}`assert_region_color ` - ```{autodoc2-docstring} simvx.graphics.testing.assert_region_color :summary: ``` * - {py:obj}`assert_no_color ` - ```{autodoc2-docstring} simvx.graphics.testing.assert_no_color :summary: ``` * - {py:obj}`assert_not_blank ` - ```{autodoc2-docstring} simvx.graphics.testing.assert_not_blank :summary: ``` * - {py:obj}`save_png ` - ```{autodoc2-docstring} simvx.graphics.testing.save_png :summary: ``` * - {py:obj}`save_image ` - ```{autodoc2-docstring} simvx.graphics.testing.save_image :summary: ``` * - {py:obj}`save_diff_image ` - ```{autodoc2-docstring} simvx.graphics.testing.save_diff_image :summary: ``` ```` ### Data ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`__all__ ` - ```{autodoc2-docstring} simvx.graphics.testing.__all__ :summary: ``` ```` ### API ````{py:data} __all__ :canonical: simvx.graphics.testing.__all__ :value: > ['assert_pixel', 'assert_color_ratio', 'assert_region_color', 'assert_no_color', 'assert_not_blank',... ```{autodoc2-docstring} simvx.graphics.testing.__all__ ``` ```` ````{py:function} assert_pixel(pixels: numpy.ndarray, x: int, y: int, expected_rgba: tuple[int, ...], tolerance: int = 2) -> None :canonical: simvx.graphics.testing.assert_pixel ```{autodoc2-docstring} simvx.graphics.testing.assert_pixel ``` ```` ````{py:function} color_ratio(pixels: numpy.ndarray, color: tuple[int, ...], tolerance: int = 10) -> float :canonical: simvx.graphics.testing.color_ratio ```{autodoc2-docstring} simvx.graphics.testing.color_ratio ``` ```` ````{py:function} assert_color_ratio(pixels: numpy.ndarray, color: tuple[int, ...], expected_ratio: float, tolerance: float = 0.02, color_tolerance: int = 10) -> None :canonical: simvx.graphics.testing.assert_color_ratio ```{autodoc2-docstring} simvx.graphics.testing.assert_color_ratio ``` ```` ````{py:function} assert_region_color(pixels: numpy.ndarray, rect: tuple[int, int, int, int], expected_color: tuple[int, ...], tolerance: int = 5) -> None :canonical: simvx.graphics.testing.assert_region_color ```{autodoc2-docstring} simvx.graphics.testing.assert_region_color ``` ```` ````{py:function} assert_no_color(pixels: numpy.ndarray, color: tuple[int, ...], tolerance: int = 5) -> None :canonical: simvx.graphics.testing.assert_no_color ```{autodoc2-docstring} simvx.graphics.testing.assert_no_color ``` ```` ````{py:function} assert_not_blank(pixels: numpy.ndarray) -> None :canonical: simvx.graphics.testing.assert_not_blank ```{autodoc2-docstring} simvx.graphics.testing.assert_not_blank ``` ```` ````{py:function} save_png(path: str | pathlib.Path, pixels: numpy.ndarray) -> None :canonical: simvx.graphics.testing.save_png ```{autodoc2-docstring} simvx.graphics.testing.save_png ``` ```` ````{py:function} save_image(path: str | pathlib.Path, pixels: numpy.ndarray) -> None :canonical: simvx.graphics.testing.save_image ```{autodoc2-docstring} simvx.graphics.testing.save_image ``` ```` ````{py:function} save_diff_image(path: str | pathlib.Path, actual: numpy.ndarray, expected: numpy.ndarray) -> None :canonical: simvx.graphics.testing.save_diff_image ```{autodoc2-docstring} simvx.graphics.testing.save_diff_image ``` ```` `````{py:class} ScreenshotReport(output_dir: pathlib.Path) :canonical: simvx.graphics.testing.ScreenshotReport ```{autodoc2-docstring} simvx.graphics.testing.ScreenshotReport ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} simvx.graphics.testing.ScreenshotReport.__init__ ``` ````{py:method} capture(pixels: numpy.ndarray, label: str) -> pathlib.Path :canonical: simvx.graphics.testing.ScreenshotReport.capture ```{autodoc2-docstring} simvx.graphics.testing.ScreenshotReport.capture ``` ```` ````{py:method} capture_with_diff(actual: numpy.ndarray, expected: numpy.ndarray, label: str) -> pathlib.Path :canonical: simvx.graphics.testing.ScreenshotReport.capture_with_diff ```{autodoc2-docstring} simvx.graphics.testing.ScreenshotReport.capture_with_diff ``` ```` ````{py:method} add_description(text: str) -> None :canonical: simvx.graphics.testing.ScreenshotReport.add_description ```{autodoc2-docstring} simvx.graphics.testing.ScreenshotReport.add_description ``` ```` ````{py:method} finalize(test_name: str = '', status: str = 'passed') -> pathlib.Path :canonical: simvx.graphics.testing.ScreenshotReport.finalize ```{autodoc2-docstring} simvx.graphics.testing.ScreenshotReport.finalize ``` ```` ````` `````{py:class} VisualRegression(baseline_dir: pathlib.Path) :canonical: simvx.graphics.testing.VisualRegression ```{autodoc2-docstring} simvx.graphics.testing.VisualRegression ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} simvx.graphics.testing.VisualRegression.__init__ ``` ````{py:method} assert_matches(pixels: numpy.ndarray, name: str, threshold: float = 0.001) -> None :canonical: simvx.graphics.testing.VisualRegression.assert_matches ```{autodoc2-docstring} simvx.graphics.testing.VisualRegression.assert_matches ``` ```` ````{py:method} update_baseline(pixels: numpy.ndarray, name: str) -> None :canonical: simvx.graphics.testing.VisualRegression.update_baseline ```{autodoc2-docstring} simvx.graphics.testing.VisualRegression.update_baseline ``` ```` ````{py:method} pixel_diff_ratio(a: numpy.ndarray, b: numpy.ndarray, tolerance: int = 2) -> float :canonical: simvx.graphics.testing.VisualRegression.pixel_diff_ratio :staticmethod: ```{autodoc2-docstring} simvx.graphics.testing.VisualRegression.pixel_diff_ratio ``` ```` `````