This repository has been archived on 2022-07-30. You can view files and clone it, but cannot push or open issues/pull-requests.
mdb/mapindex_ex_test.go

29 lines
562 B
Go

package mdb
import (
"fmt"
"reflect"
)
func (m *MapIndex[K, T]) Equals(rhs *MapIndex[K, T]) error {
return m.EqualsMap(rhs.m)
}
func (m *MapIndex[K, T]) EqualsMap(data map[K]*T) error {
if len(m.m) != len(data) {
return fmt.Errorf("Expected %d items, but found %d.", len(data), len(m.m))
}
for key, exp := range data {
val, ok := m.Get(key)
if !ok {
return fmt.Errorf("No value for %v. Expected: %v", key, *exp)
}
if !reflect.DeepEqual(val, *exp) {
return fmt.Errorf("Value mismatch %v: %v != %v", key, val, *exp)
}
}
return nil
}