35 lines
701 B
Go
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())
|
|
}
|