...
1 package puddle
2
3 import (
4 "testing"
5
6 "github.com/stretchr/testify/assert"
7 "github.com/stretchr/testify/require"
8 )
9
10 func TestResList_Append(t *testing.T) {
11 r := require.New(t)
12
13 arr := []*Resource[any]{
14 new(Resource[any]),
15 new(Resource[any]),
16 new(Resource[any]),
17 }
18
19 list := resList[any](arr)
20
21 list.append(new(Resource[any]))
22 r.Len(list, 4)
23 list.append(new(Resource[any]))
24 r.Len(list, 5)
25 list.append(new(Resource[any]))
26 r.Len(list, 6)
27 }
28
29 func TestResList_PopBack(t *testing.T) {
30 r := require.New(t)
31
32 arr := []*Resource[any]{
33 new(Resource[any]),
34 new(Resource[any]),
35 new(Resource[any]),
36 }
37
38 list := resList[any](arr)
39
40 list.popBack()
41 r.Len(list, 2)
42 list.popBack()
43 r.Len(list, 1)
44 list.popBack()
45 r.Len(list, 0)
46
47 r.Panics(func() { list.popBack() })
48 }
49
50 func TestResList_PanicsWithBugReportIfResourceDoesNotExist(t *testing.T) {
51 arr := []*Resource[any]{
52 new(Resource[any]),
53 new(Resource[any]),
54 new(Resource[any]),
55 }
56
57 list := resList[any](arr)
58
59 assert.PanicsWithValue(t, "BUG: removeResource could not find res in slice", func() {
60 list.remove(new(Resource[any]))
61 })
62 }
63
View as plain text