Adds regression tests for graphics classes. These tests don't cover any of the animation or event handling stuff, but cover graphics and basic CanvasWindow behavior fairly comprehensively.
This PR includes a new rendering test helper, which works by comparing a test’s GraphicsObject output to a reference image. The rendering tests work as follows:
Each test looks for a file named test/imageComparisons/<TestSuiteName>/<testname>-<variant>.expected.png.
If the expected image file does not exist, the test assumes its current output is correct and saves a new expect image
If the expected image file does exist, then the test produces a corresponding .actual.png files, along with a .(delta).png if the two differ.
A rendering test fails if the sum of squares difference between the expected and actual images exceeds a certain threshold, which individual tests may override. This is necessary because graphics render slightly differently on different platforms.
Adds regression tests for graphics classes. These tests don't cover any of the animation or event handling stuff, but cover graphics and basic CanvasWindow behavior fairly comprehensively.
This PR includes a new rendering test helper, which works by comparing a test’s GraphicsObject output to a reference image. The rendering tests work as follows:
test/imageComparisons/<TestSuiteName>/<testname>-<variant>.expected.png
..actual.png
files, along with a.(delta).png
if the two differ.Here is an example of a rendering test suite and its expected output images.
Discovered and fixed a handful of bugs in the course of writing the tests. Fixed #9.