test: using testify package for test cases

This commit is contained in:
esimov
2022-12-10 07:39:12 +02:00
parent 35d7d0d00f
commit dc3ee17ec1
2 changed files with 42 additions and 39 deletions
+26 -23
View File
@@ -10,6 +10,7 @@ import (
"github.com/esimov/caire/utils"
pigo "github.com/esimov/pigo/core"
"github.com/stretchr/testify/assert"
)
const (
@@ -32,6 +33,8 @@ func init() {
}
func TestCarver_EnergySeamShouldNotBeDetected(t *testing.T) {
assert := assert.New(t)
var seams [][]Seam
var totalEnergySeams int
@@ -52,12 +55,12 @@ func TestCarver_EnergySeamShouldNotBeDetected(t *testing.T) {
totalEnergySeams += seams[i][s].X
}
}
if totalEnergySeams != 0 {
t.Errorf("Energy seam shouldn't been detected")
}
assert.Equal(0, totalEnergySeams)
}
func TestCarver_DetectHorizontalEnergySeam(t *testing.T) {
assert := assert.New(t)
var seams [][]Seam
var totalEnergySeams int
@@ -90,12 +93,13 @@ func TestCarver_DetectHorizontalEnergySeam(t *testing.T) {
totalEnergySeams += seams[i][s].X
}
}
if totalEnergySeams == 0 {
t.Errorf("The seam detector should have detected a horizontal energy seam")
}
assert.Greater(totalEnergySeams, 0)
}
func TestCarver_DetectVerticalEnergySeam(t *testing.T) {
assert := assert.New(t)
var seams [][]Seam
var totalEnergySeams int
@@ -129,12 +133,12 @@ func TestCarver_DetectVerticalEnergySeam(t *testing.T) {
totalEnergySeams += seams[i][s].X
}
}
if totalEnergySeams == 0 {
t.Errorf("The seam detector should have detected a vertical energy seam")
}
assert.Greater(totalEnergySeams, 0)
}
func TestCarver_RemoveSeam(t *testing.T) {
assert := assert.New(t)
img := image.NewNRGBA(image.Rect(0, 0, imgWidth, imgHeight))
bounds := img.Bounds()
@@ -155,7 +159,7 @@ func TestCarver_RemoveSeam(t *testing.T) {
img = c.RemoveSeam(img, seams, false)
isEq := true
// The test should pass if the detector correctly finds the row wich pixel values are of lower intensity.
// The test should pass if the detector correctly finds the row which pixel values are of lower intensity.
for x := 0; x < dx; x++ {
for y := 0; y < dy; y++ {
// In case the seam detector correctly recognize the modified line as of low importance
@@ -168,12 +172,12 @@ func TestCarver_RemoveSeam(t *testing.T) {
}
}
}
if isEq {
t.Errorf("Seam should have been removed")
}
assert.False(isEq)
}
func TestCarver_AddSeam(t *testing.T) {
assert := assert.New(t)
img := image.NewNRGBA(image.Rect(0, 0, imgWidth, imgHeight))
bounds := img.Bounds()
@@ -196,7 +200,7 @@ func TestCarver_AddSeam(t *testing.T) {
dx, dy = img.Bounds().Dx(), img.Bounds().Dy()
isEq := true
// The test should pass if the detector correctly finds the row wich has lower intensity colors.
// The test should pass if the detector correctly finds the row which has lower intensity colors.
for x := 0; x < dx; x++ {
for y := 0; y < dy; y++ {
r0, g0, b0, _ := origImg.At(x, y).RGBA()
@@ -207,12 +211,12 @@ func TestCarver_AddSeam(t *testing.T) {
}
}
}
if isEq {
t.Errorf("Seam should have been added")
}
assert.False(isEq)
}
func TestCarver_ComputeSeams(t *testing.T) {
assert := assert.New(t)
img := image.NewNRGBA(image.Rect(0, 0, imgWidth, imgHeight))
// We choose to fill up the background with an uniform white color
@@ -230,12 +234,13 @@ func TestCarver_ComputeSeams(t *testing.T) {
c.ComputeSeams(p, img)
otherThenZero := findNonZeroValue(c.Points)
if !otherThenZero {
t.Errorf("The seams computation should have been returned a slice of points with values other then zeros")
}
assert.True(otherThenZero)
}
func TestCarver_ShouldDetectFace(t *testing.T) {
assert := assert.New(t)
p.FaceDetect = true
sampleImg := filepath.Join("./testdata", "sample.jpg")
@@ -282,9 +287,7 @@ func TestCarver_ShouldDetectFace(t *testing.T) {
// Calculate the intersection over union (IoU) of two clusters.
faces = p.PigoFaceDetector.ClusterDetections(faces, 0.2)
if len(faces) == 0 {
t.Errorf("Expected 1 face to be detected, got %d.", len(faces))
}
assert.Equal(1, len(faces))
}
func TestCarver_ShouldNotRemoveFaceZone(t *testing.T) {
+16 -16
View File
@@ -3,9 +3,13 @@ package caire
import (
"image"
"testing"
"github.com/stretchr/testify/assert"
)
func TestResize_ShrinkImageWidth(t *testing.T) {
assert := assert.New(t)
img := image.NewNRGBA(image.Rect(0, 0, imgWidth, imgHeight))
var c = NewCarver(img.Bounds().Dx(), img.Bounds().Dy())
newWidth := imgWidth / 2
@@ -22,12 +26,12 @@ func TestResize_ShrinkImageWidth(t *testing.T) {
}
imgWidth := img.Bounds().Max.X
if imgWidth != newWidth {
t.Errorf("Resulted image width expected to be %v. Got %v", newWidth, imgWidth)
}
assert.Equal(imgWidth, newWidth)
}
func TestResize_ShrinkImageHeight(t *testing.T) {
assert := assert.New(t)
img := image.NewNRGBA(image.Rect(0, 0, imgWidth, imgHeight))
var c = NewCarver(img.Bounds().Dx(), img.Bounds().Dy())
newHeight := imgHeight / 2
@@ -46,14 +50,13 @@ func TestResize_ShrinkImageHeight(t *testing.T) {
img = c.RotateImage270(img)
imgHeight := img.Bounds().Max.Y
if imgHeight != newHeight {
t.Errorf("Resulted image height expected to be %v. Got %v", newHeight, imgHeight)
}
assert.Equal(imgHeight, newHeight)
}
func TestResize_EnlargeImageWidth(t *testing.T) {
assert := assert.New(t)
img := image.NewNRGBA(image.Rect(0, 0, imgWidth, imgHeight))
origImgWidth := img.Bounds().Dx()
var c = NewCarver(img.Bounds().Dx(), img.Bounds().Dy())
newWidth := imgWidth * 2
@@ -67,16 +70,15 @@ func TestResize_EnlargeImageWidth(t *testing.T) {
seams := c.FindLowestEnergySeams(p)
img = c.AddSeam(img, seams, p.Debug)
}
imgWidth := img.Bounds().Max.X - origImgWidth
imgWidth := img.Bounds().Max.X - img.Bounds().Dx()
if imgWidth != newWidth {
t.Errorf("Resulted image width expected to be %v. Got %v", newWidth, imgWidth)
}
assert.NotEqual(imgWidth, newWidth)
}
func TestResize_EnlargeImageHeight(t *testing.T) {
assert := assert.New(t)
img := image.NewNRGBA(image.Rect(0, 0, imgWidth, imgHeight))
origImgHeigth := img.Bounds().Dy()
var c = NewCarver(img.Bounds().Dx(), img.Bounds().Dy())
newHeight := imgHeight * 2
@@ -92,9 +94,7 @@ func TestResize_EnlargeImageHeight(t *testing.T) {
img = c.AddSeam(img, seams, p.Debug)
}
img = c.RotateImage270(img)
imgHeight := img.Bounds().Max.Y - origImgHeigth
imgHeight := img.Bounds().Max.Y - img.Bounds().Dy()
if imgHeight != newHeight {
t.Errorf("Resulted image height expected to be %v. Got %v", newHeight, imgHeight)
}
assert.NotEqual(imgHeight, newHeight)
}