photoprism/pkg/checksum/crc32_test.go
Michael Mayer 01da5bdec7 CRC32: Move checksum generation to a dedicated package
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-20 14:56:07 +01:00

99 lines
2.1 KiB
Go

package checksum
import (
"fmt"
"testing"
"github.com/stretchr/testify/assert"
)
func TestCrc32(t *testing.T) {
t.Run("Empty", func(t *testing.T) {
data := ""
expected := "00000000"
crc := Crc32([]byte(data))
result := fmt.Sprintf("%08x", crc)
t.Logf("Crc32(%s): result %s, expected %s", data, result, expected)
assert.Equal(t, expected, result)
})
t.Run("One", func(t *testing.T) {
data := "1"
expected := "83dcefb7"
crc := Crc32([]byte(data))
result := fmt.Sprintf("%08x", crc)
t.Logf("Crc32(%s): result %s, expected %s", data, result, expected)
assert.Equal(t, expected, result)
})
t.Run("Serial", func(t *testing.T) {
data := "zr2g80wvjmm1zwzg"
expected := "2db41d54"
crc := Crc32([]byte(data))
result := fmt.Sprintf("%08x", crc)
t.Logf("Crc32(%s): result %s, expected %s", data, result, expected)
assert.Equal(t, expected, result)
})
t.Run("HelloWorld", func(t *testing.T) {
data := "Hello World!"
expected := "1c291ca3"
crc := Crc32([]byte(data))
result := fmt.Sprintf("%08x", crc)
t.Logf("Crc32(%s): result %s, expected %s", data, result, expected)
assert.Equal(t, expected, result)
})
}
func TestSerial(t *testing.T) {
t.Run("Empty", func(t *testing.T) {
data := ""
expected := "00000000"
result := Serial([]byte(data))
t.Logf("Serial(%s): result %s, expected %s", data, result, expected)
assert.Equal(t, expected, result)
})
t.Run("One", func(t *testing.T) {
data := "1"
expected := "90f599e3"
result := Serial([]byte(data))
t.Logf("Serial(%s): result %s, expected %s", data, result, expected)
assert.Equal(t, expected, result)
})
t.Run("Serial", func(t *testing.T) {
data := "zr2g80wvjmm1zwzg"
expected := "c7dcdb1c"
result := Serial([]byte(data))
t.Logf("Serial(%s): result %s, expected %s", data, result, expected)
assert.Equal(t, expected, result)
})
t.Run("HelloWorld", func(t *testing.T) {
data := "Hello World!"
expected := "fe6cf1dc"
result := Serial([]byte(data))
t.Logf("Serial(%s): result %s, expected %s", data, result, expected)
assert.Equal(t, expected, result)
})
}