MCPcopy Create free account
hub / github.com/benbjohnson/immutable / Validate

Method Validate

immutable_test.go:2243–2274  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

2241}
2242
2243func (m *TSortedMap) Validate() error {
2244 for _, k := range m.keys {
2245 if v, ok := m.im.Get(k); !ok {
2246 return fmt.Errorf("key not found: %d", k)
2247 } else if v != m.std[k] {
2248 return fmt.Errorf("key (%d) mismatch: immutable=%d, std=%d", k, v, m.std[k])
2249 }
2250 if v, ok := m.builder.Get(k); !ok {
2251 return fmt.Errorf("builder key not found: %d", k)
2252 } else if v != m.std[k] {
2253 return fmt.Errorf("builder key (%d) mismatch: immutable=%d, std=%d", k, v, m.std[k])
2254 }
2255 }
2256
2257 if got, exp := m.builder.Len(), len(m.std); got != exp {
2258 return fmt.Errorf("SortedMapBuilder.Len()=%d, expected %d", got, exp)
2259 }
2260
2261 sort.Ints(m.keys)
2262 if err := m.validateForwardIterator(m.im.Iterator()); err != nil {
2263 return fmt.Errorf("basic: %s", err)
2264 } else if err := m.validateBackwardIterator(m.im.Iterator()); err != nil {
2265 return fmt.Errorf("basic: %s", err)
2266 }
2267
2268 if err := m.validateForwardIterator(m.builder.Iterator()); err != nil {
2269 return fmt.Errorf("basic: %s", err)
2270 } else if err := m.validateBackwardIterator(m.builder.Iterator()); err != nil {
2271 return fmt.Errorf("basic: %s", err)
2272 }
2273 return nil
2274}
2275
2276func (m *TSortedMap) validateForwardIterator(itr *SortedMapIterator[int, int]) error {
2277 for i, k0 := range m.keys {

Callers 2

TestSortedMap_SetFunction · 0.95
TestSortedMap_DeleteFunction · 0.95

Calls 5

GetMethod · 0.45
LenMethod · 0.45
IteratorMethod · 0.45

Tested by

no test coverage detected