ringbuffer: migrate test away from Ginkgo (#4671)

This commit is contained in:
Marten Seemann
2024-09-12 15:26:02 +08:00
committed by GitHub
parent 4aee0c0acd
commit 06cfeb1034
2 changed files with 42 additions and 56 deletions

View File

@@ -1,13 +0,0 @@
package ringbuffer
import (
"testing"
. "github.com/onsi/ginkgo/v2"
. "github.com/onsi/gomega"
)
func TestTestdata(t *testing.T) {
RegisterFailHandler(Fail)
RunSpecs(t, "ringbuffer suite")
}

View File

@@ -1,50 +1,49 @@
package ringbuffer package ringbuffer
import ( import (
. "github.com/onsi/ginkgo/v2" "testing"
. "github.com/onsi/gomega"
"github.com/stretchr/testify/require"
) )
var _ = Describe("RingBuffer", func() { func TestPushPeekPop(t *testing.T) {
It("push, peek and pop", func() { r := RingBuffer[int]{}
r := RingBuffer[int]{} require.Equal(t, 0, len(r.ring))
Expect(len(r.ring)).To(Equal(0)) require.Panics(t, func() { r.PopFront() })
Expect(func() { r.PopFront() }).To(Panic()) r.PushBack(1)
r.PushBack(1) r.PushBack(2)
r.PushBack(2) r.PushBack(3)
r.PushBack(3) require.Equal(t, 1, r.PeekFront())
Expect(r.PeekFront()).To(Equal(1)) require.Equal(t, 1, r.PeekFront())
Expect(r.PeekFront()).To(Equal(1)) require.Equal(t, 1, r.PopFront())
Expect(r.PopFront()).To(Equal(1)) require.Equal(t, 2, r.PeekFront())
Expect(r.PeekFront()).To(Equal(2)) require.Equal(t, 2, r.PopFront())
Expect(r.PopFront()).To(Equal(2)) r.PushBack(4)
r.PushBack(4) r.PushBack(5)
r.PushBack(5) require.Equal(t, 3, r.Len())
Expect(r.Len()).To(Equal(3)) r.PushBack(6)
r.PushBack(6) require.Equal(t, 4, r.Len())
Expect(r.Len()).To(Equal(4)) require.Equal(t, 3, r.PopFront())
Expect(r.PopFront()).To(Equal(3)) require.Equal(t, 4, r.PopFront())
Expect(r.PopFront()).To(Equal(4)) require.Equal(t, 5, r.PopFront())
Expect(r.PopFront()).To(Equal(5)) require.Equal(t, 6, r.PopFront())
Expect(r.PopFront()).To(Equal(6)) }
})
It("panics when Peek or Pop are called on an empty buffer", func() { func TestPanicOnEmptyBuffer(t *testing.T) {
r := RingBuffer[string]{} r := RingBuffer[string]{}
Expect(r.Empty()).To(BeTrue()) require.True(t, r.Empty())
Expect(r.Len()).To(BeZero()) require.Zero(t, r.Len())
Expect(func() { r.PeekFront() }).To(Panic()) require.Panics(t, func() { r.PeekFront() })
Expect(func() { r.PopFront() }).To(Panic()) require.Panics(t, func() { r.PopFront() })
}) }
It("clearing", func() { func TestClear(t *testing.T) {
r := RingBuffer[int]{} r := RingBuffer[int]{}
r.Init(2) r.Init(2)
r.PushBack(1) r.PushBack(1)
r.PushBack(2) r.PushBack(2)
Expect(r.full).To(BeTrue()) require.True(t, r.full)
r.Clear() r.Clear()
Expect(r.full).To(BeFalse()) require.False(t, r.full)
Expect(r.Len()).To(Equal(0)) require.Equal(t, 0, r.Len())
}) }
})