Исходники и презентации
This commit is contained in:
83
homework/maps/homewrok_test.go
Normal file
83
homework/maps/homewrok_test.go
Normal file
@ -0,0 +1,83 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"reflect"
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
// go test -v homework_test.go
|
||||
|
||||
type OrderedMap struct {
|
||||
// need to implement
|
||||
}
|
||||
|
||||
func NewOrderedMap() OrderedMap {
|
||||
return OrderedMap{} // need to implement
|
||||
}
|
||||
|
||||
func (m *OrderedMap) Insert(key, value int) {
|
||||
// need to implement
|
||||
}
|
||||
|
||||
func (m *OrderedMap) Erase(key int) {
|
||||
// need to implement
|
||||
}
|
||||
|
||||
func (m *OrderedMap) Contains(key int) bool {
|
||||
return false // need to implement
|
||||
}
|
||||
|
||||
func (m *OrderedMap) Size() int {
|
||||
return 0 // need to implement
|
||||
}
|
||||
|
||||
func (m *OrderedMap) ForEach(action func(int, int)) {
|
||||
// need to implement
|
||||
}
|
||||
|
||||
func TestCircularQueue(t *testing.T) {
|
||||
data := NewOrderedMap()
|
||||
assert.Zero(t, data.Size())
|
||||
|
||||
data.Insert(10, 10)
|
||||
data.Insert(5, 5)
|
||||
data.Insert(15, 15)
|
||||
data.Insert(2, 2)
|
||||
data.Insert(4, 4)
|
||||
data.Insert(12, 12)
|
||||
data.Insert(14, 14)
|
||||
|
||||
assert.Equal(t, 7, data.Size())
|
||||
assert.True(t, data.Contains(4))
|
||||
assert.True(t, data.Contains(12))
|
||||
assert.False(t, data.Contains(3))
|
||||
assert.False(t, data.Contains(13))
|
||||
|
||||
var keys []int
|
||||
expectedKeys := []int{2, 4, 5, 10, 12, 14, 15}
|
||||
data.ForEach(func(key, _ int) {
|
||||
keys = append(keys, key)
|
||||
})
|
||||
|
||||
assert.True(t, reflect.DeepEqual(expectedKeys, keys))
|
||||
|
||||
data.Erase(15)
|
||||
data.Erase(14)
|
||||
data.Erase(2)
|
||||
|
||||
assert.Equal(t, 4, data.Size())
|
||||
assert.True(t, data.Contains(4))
|
||||
assert.True(t, data.Contains(12))
|
||||
assert.False(t, data.Contains(2))
|
||||
assert.False(t, data.Contains(14))
|
||||
|
||||
keys = nil
|
||||
expectedKeys = []int{4, 5, 10, 12}
|
||||
data.ForEach(func(key, _ int) {
|
||||
keys = append(keys, key)
|
||||
})
|
||||
|
||||
assert.True(t, reflect.DeepEqual(expectedKeys, keys))
|
||||
}
|
||||
Reference in New Issue
Block a user