algorithms-go/DataStructure/heap/heap_test.go
2021-04-07 18:13:02 +08:00

35 lines
701 B
Go

package heap
import (
"github.com/stretchr/testify/assert"
"testing"
)
func TestNewMax(t *testing.T) {
mh := NewMax()
mh.Insert(Int(5))
mh.Insert(Int(7))
mh.Insert(Int(2))
mh.Insert(Int(6))
mh.Insert(Int(3))
assert.Equal(t, Int(7), mh.Extract())
assert.Equal(t, Int(6), mh.Extract())
mh.Insert(Int(12))
assert.Equal(t, 4, mh.Len())
assert.Equal(t, Int(12), mh.Extract())
}
func TestNewMin(t *testing.T) {
mh := NewMin()
mh.Insert(Int(5))
mh.Insert(Int(7))
mh.Insert(Int(2))
mh.Insert(Int(6))
mh.Insert(Int(3))
assert.Equal(t, Int(2), mh.Extract())
assert.Equal(t, Int(3), mh.Extract())
mh.Insert(Int(12))
assert.Equal(t, 4, mh.Len())
assert.Equal(t, Int(5), mh.Extract())
}