util: refactor tests for ArrayReverse

This commit is contained in:
Evgenii Stratonikov 2020-02-06 11:56:34 +03:00
parent 70c22ebc7b
commit d07d6f3371

View file

@ -6,24 +6,31 @@ import (
"github.com/stretchr/testify/require"
)
func TestArrayEvenReverse(t *testing.T) {
arr := []byte{0x01, 0x02, 0x03, 0x04}
have := ArrayReverse(arr)
want := []byte{0x04, 0x03, 0x02, 0x01}
require.Equal(t, want, have)
var testCases = []struct {
arr []byte
rev []byte
}{
{
arr: []byte{},
rev: []byte{},
},
{
arr: []byte{0x01},
rev: []byte{0x01},
},
{
arr: []byte{0x01, 0x02, 0x03, 0x04},
rev: []byte{0x04, 0x03, 0x02, 0x01},
},
{
arr: []byte{0x01, 0x02, 0x03, 0x04, 0x05},
rev: []byte{0x05, 0x04, 0x03, 0x02, 0x01},
},
}
func TestArrayOddReverse(t *testing.T) {
arr := []byte{0x01, 0x02, 0x03, 0x04, 0x05}
have := ArrayReverse(arr)
want := []byte{0x05, 0x04, 0x03, 0x02, 0x01}
require.Equal(t, want, have)
func TestArrayReverse(t *testing.T) {
for _, tc := range testCases {
have := ArrayReverse(tc.arr)
require.Equal(t, tc.rev, have)
}
// This tests a bug that occurred with arrays of size 1
func TestArrayReverseLen2(t *testing.T) {
arr := []byte{0x01}
have := ArrayReverse(arr)
want := []byte{0x01}
require.Equal(t, want, have)
}