()
| 2241 | } |
| 2242 | |
| 2243 | func (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 | |
| 2276 | func (m *TSortedMap) validateForwardIterator(itr *SortedMapIterator[int, int]) error { |
| 2277 | for i, k0 := range m.keys { |
no test coverage detected