Add tests for validation package
This commit is contained in:
parent
cfb0d4ebc6
commit
259dc875a4
@ -86,7 +86,7 @@ var FormatRules = map[string]rule{
|
|||||||
"qr": {
|
"qr": {
|
||||||
minLength: 1,
|
minLength: 1,
|
||||||
maxLength: 4296,
|
maxLength: 4296,
|
||||||
charset: *ISO88591,
|
charset: *ANY,
|
||||||
divisible: 1,
|
divisible: 1,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
77
validation/validate_test.go
Normal file
77
validation/validate_test.go
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
package validation
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"testing"
|
||||||
|
|
||||||
|
"git.fjla.uk/fred.boniface/barcodes/generation"
|
||||||
|
)
|
||||||
|
|
||||||
|
const unicodeString string = "Hello, 你好, नमस्ते, こんにちは, 😃🌍🚀🎉~!@#$%^&*()_+-=[]{}|;:'\",.<>?/\\±§©µ¿¡®¬°¹²³½¾¼×÷≤≥∞∑∫√∂∆∏∃∀Ω≈≠¬≡≣∀∂∃Ω℧℁ℝℂℍℤℚ"
|
||||||
|
const asciiString string = "!7^%&3#(1@!9)6*8_:;4<~2`5-+0|{/.,?]'\"~"
|
||||||
|
|
||||||
|
func TestValidation(t *testing.T) {
|
||||||
|
testCases := []struct {
|
||||||
|
input generation.Parameters
|
||||||
|
expected bool
|
||||||
|
}{
|
||||||
|
{
|
||||||
|
input: generation.Parameters{
|
||||||
|
Format: "aztec",
|
||||||
|
ECCLevel: 4,
|
||||||
|
Content: unicodeString,
|
||||||
|
},
|
||||||
|
expected: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
input: generation.Parameters{
|
||||||
|
Format: "codabar",
|
||||||
|
ECCLevel: 4,
|
||||||
|
Content: "ABCD",
|
||||||
|
},
|
||||||
|
expected: false,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
input: generation.Parameters{
|
||||||
|
Format: "codabar",
|
||||||
|
ECCLevel: 4,
|
||||||
|
Content: "2342-943$",
|
||||||
|
},
|
||||||
|
expected: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
input: generation.Parameters{
|
||||||
|
Format: "datamatrix",
|
||||||
|
ECCLevel: 4,
|
||||||
|
Content: unicodeString,
|
||||||
|
},
|
||||||
|
expected: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
input: generation.Parameters{
|
||||||
|
Format: "qr",
|
||||||
|
ECCLevel: 4,
|
||||||
|
Content: unicodeString,
|
||||||
|
},
|
||||||
|
expected: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
input: generation.Parameters{
|
||||||
|
Format: "code39",
|
||||||
|
ECCLevel: 4,
|
||||||
|
Content: asciiString,
|
||||||
|
},
|
||||||
|
expected: true,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, testCase := range testCases {
|
||||||
|
result := Validate(testCase.input)
|
||||||
|
|
||||||
|
if result != testCase.expected {
|
||||||
|
inputStr := fmt.Sprintf("%+v", testCase.input) // Convert struct to string representation
|
||||||
|
|
||||||
|
t.Errorf("Input: \n%s\n\nExpected: %t\n\n Got: %t", inputStr, testCase.expected, result)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user