github.com/hyperledger/burrow@v0.34.5-0.20220512172541-77f09336001d/util/slice/slice_test.go (about) 1 // Copyright Monax Industries Limited 2 // SPDX-License-Identifier: Apache-2.0 3 4 package slice 5 6 import ( 7 "testing" 8 9 "github.com/stretchr/testify/assert" 10 ) 11 12 func TestCopyAppend(t *testing.T) { 13 assert.Equal(t, Slice(1, "two", "three", 4), 14 CopyAppend(Slice(1, "two"), "three", 4)) 15 assert.Equal(t, EmptySlice(), CopyAppend(nil)) 16 assert.Equal(t, Slice(1), CopyAppend(nil, 1)) 17 assert.Equal(t, Slice(1), CopyAppend(Slice(1))) 18 } 19 20 func TestCopyPrepend(t *testing.T) { 21 assert.Equal(t, Slice("three", 4, 1, "two"), 22 CopyPrepend(Slice(1, "two"), "three", 4)) 23 assert.Equal(t, EmptySlice(), CopyPrepend(nil)) 24 assert.Equal(t, Slice(1), CopyPrepend(nil, 1)) 25 assert.Equal(t, Slice(1), CopyPrepend(Slice(1))) 26 } 27 28 func TestConcat(t *testing.T) { 29 assert.Equal(t, Slice(1, 2, 3, 4, 5), Concat(Slice(1, 2, 3, 4, 5))) 30 assert.Equal(t, Slice(1, 2, 3, 4, 5), Concat(Slice(1, 2, 3), Slice(4, 5))) 31 assert.Equal(t, Slice(1, 2, 3, 4, 5), Concat(Slice(1), Slice(2, 3), Slice(4, 5))) 32 assert.Equal(t, EmptySlice(), Concat(nil)) 33 assert.Equal(t, Slice(1), Concat(nil, Slice(), Slice(1))) 34 assert.Equal(t, Slice(1), Concat(Slice(1), Slice(), nil)) 35 } 36 37 func TestDelete(t *testing.T) { 38 assert.Equal(t, Slice(1, 2, 4, 5), Delete(Slice(1, 2, 3, 4, 5), 2, 1)) 39 } 40 41 func TestDeepFlatten(t *testing.T) { 42 assert.Equal(t, Flatten(Slice(Slice(1, 2), 3, 4)), Slice(1, 2, 3, 4)) 43 nestedSlice := Slice(Slice(1, Slice(Slice(2))), Slice(3, 4)) 44 assert.Equal(t, DeepFlatten(nestedSlice, -1), Slice(1, 2, 3, 4)) 45 assert.Equal(t, DeepFlatten(nestedSlice, 2), Slice(1, Slice(2), 3, 4)) 46 }