Create & Init Project...
This commit is contained in:
80
app/admin/main/member/model/bom/bom_test.go
Normal file
80
app/admin/main/member/model/bom/bom_test.go
Normal file
@ -0,0 +1,80 @@
|
||||
package bom_test
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"io/ioutil"
|
||||
"testing"
|
||||
|
||||
"go-common/app/admin/main/member/model/bom"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
var testCases = []struct {
|
||||
Input []byte
|
||||
Expected []byte
|
||||
}{
|
||||
{
|
||||
Input: nil,
|
||||
Expected: nil,
|
||||
},
|
||||
{
|
||||
Input: []byte{},
|
||||
Expected: []byte{},
|
||||
},
|
||||
{
|
||||
Input: []byte{0xef},
|
||||
Expected: []byte{0xef},
|
||||
},
|
||||
{
|
||||
Input: []byte{0xef, 0xbb},
|
||||
Expected: []byte{0xef, 0xbb},
|
||||
},
|
||||
{
|
||||
Input: []byte{0xef, 0xbb, 0xbf},
|
||||
Expected: []byte{},
|
||||
},
|
||||
{
|
||||
Input: []byte{0xef, 0xbb, 0xbf, 0x41, 0x42, 0x43},
|
||||
Expected: []byte{0x41, 0x42, 0x43},
|
||||
},
|
||||
{
|
||||
Input: []byte{0xef, 0xbb, 0x41, 0x42, 0x43},
|
||||
Expected: []byte{0xef, 0xbb, 0x41, 0x42, 0x43},
|
||||
},
|
||||
{
|
||||
Input: []byte{0xef, 0x41, 0x42, 0x43},
|
||||
Expected: []byte{0xef, 0x41, 0x42, 0x43},
|
||||
},
|
||||
{
|
||||
Input: []byte{0x41, 0x42, 0x43},
|
||||
Expected: []byte{0x41, 0x42, 0x43},
|
||||
},
|
||||
}
|
||||
|
||||
func TestClean(t *testing.T) {
|
||||
assert := assert.New(t)
|
||||
|
||||
for _, tc := range testCases {
|
||||
output := bom.Clean(tc.Input)
|
||||
assert.Equal(tc.Expected, output)
|
||||
}
|
||||
}
|
||||
|
||||
func TestReader(t *testing.T) {
|
||||
assert := assert.New(t)
|
||||
|
||||
for _, tc := range testCases {
|
||||
// An input value of nil works differently to the Clean function.
|
||||
// In this case it results in an empty buffer, not nil.
|
||||
expected := tc.Expected
|
||||
if tc.Input == nil {
|
||||
expected = []byte{}
|
||||
}
|
||||
r1 := bytes.NewReader(tc.Input)
|
||||
r2 := bom.NewReader(r1)
|
||||
output, err := ioutil.ReadAll(r2)
|
||||
assert.NoError(err)
|
||||
assert.Equal(expected, output)
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user