Files
hk4e/common/utils/alg/queue_test.go
2022-11-20 15:38:00 +08:00

93 lines
1.5 KiB
Go

package alg
import (
"fmt"
"testing"
)
func TestLLQueue(t *testing.T) {
queue := NewLLQueue()
queue.EnQueue(float32(100.123))
queue.EnQueue(uint8(66))
queue.EnQueue("aaa")
queue.EnQueue(int64(-123456789))
queue.EnQueue(true)
queue.EnQueue(5)
for queue.Len() > 0 {
value := queue.DeQueue()
fmt.Println(value)
}
}
func TestALQueue(t *testing.T) {
queue := NewALQueue[uint8]()
queue.EnQueue(1)
queue.EnQueue(2)
queue.EnQueue(8)
queue.EnQueue(9)
for queue.Len() > 0 {
value := queue.DeQueue()
fmt.Println(value)
}
}
func TestRAQueue(t *testing.T) {
queue := NewRAQueue[uint8](1000)
queue.EnQueue(1)
queue.EnQueue(2)
queue.EnQueue(8)
queue.EnQueue(9)
for queue.Len() > 0 {
value := queue.DeQueue()
fmt.Println(value)
}
}
func BenchmarkLLQueue(b *testing.B) {
data := ""
for i := 0; i < 1024; i++ {
data += "X"
}
queue := NewLLQueue()
for i := 0; i < b.N; i++ {
for i := 0; i < 100; i++ {
queue.EnQueue(&data)
}
for i := 0; i < 100; i++ {
queue.DeQueue()
}
}
}
func BenchmarkALQueue(b *testing.B) {
data := ""
for i := 0; i < 1024; i++ {
data += "X"
}
queue := NewALQueue[*string]()
for i := 0; i < b.N; i++ {
for i := 0; i < 100; i++ {
queue.EnQueue(&data)
}
for i := 0; i < 100; i++ {
queue.DeQueue()
}
}
}
func BenchmarkRAQueue(b *testing.B) {
data := ""
for i := 0; i < 1024; i++ {
data += "X"
}
queue := NewRAQueue[*string](1000)
for i := 0; i < b.N; i++ {
for i := 0; i < 100; i++ {
queue.EnQueue(&data)
}
for i := 0; i < 100; i++ {
queue.DeQueue()
}
}
}