diff options
author | Nick White <git@njw.name> | 2020-08-03 15:49:55 +0100 |
---|---|---|
committer | Nick White <git@njw.name> | 2020-08-03 15:49:55 +0100 |
commit | 1fe7dcdd23691212e8393559fc9d7d5100981386 (patch) | |
tree | 64d5b548c7ac9342e57f99315ba30224e8de2d9e /integralimg_test.go | |
parent | d0b28b984bcd1c73dc5782c8d4df2bdc4ab0b310 (diff) |
Add more Sum() tests, and further correct bugs found from it
The implementation should be bug-free now. Of course, I thought
that previously, then found more, so we shall see. There are
more tests, though, and they definitely pass, so that's a good
start.
Diffstat (limited to 'integralimg_test.go')
-rw-r--r-- | integralimg_test.go | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/integralimg_test.go b/integralimg_test.go index bd8a983..35b353d 100644 --- a/integralimg_test.go +++ b/integralimg_test.go @@ -70,11 +70,25 @@ func TestSum(t *testing.T) { draw.Draw(imgplus, b, img, b.Min, draw.Src) draw.Draw(integral, b, img, b.Min, draw.Src) - sumimg := imgplus.sum(b) - sumint := integral.Sum(b) + cases := []struct { + name string + r image.Rectangle + }{ + {"fullimage", b}, + {"small", image.Rect(1, 1, 5, 5)}, + {"toobig", image.Rect(0, 0, 2000, b.Dy())}, + {"toosmall", image.Rect(-1, -1, 4, 5)}, + {"small2", image.Rect(0, 0, 4, 4)}, + } - if sumimg != sumint { - t.Errorf("Sum of integral image differs to regular image: regular: %d, integral: %d\n", sumimg, sumint) + for _, c := range cases{ + t.Run(c.name, func(t *testing.T) { + sumimg := imgplus.sum(c.r) + sumint := integral.Sum(c.r) + if sumimg != sumint { + t.Errorf("Sum of integral image differs to regular image: regular: %d, integral: %d\n", sumimg, sumint) + } + }) } } |