Validate returns an error if the slice and List are different.
()
| 332 | |
| 333 | // Validate returns an error if the slice and List are different. |
| 334 | func (l *TList) Validate() error { |
| 335 | if got, exp := l.im.Len(), len(l.std); got != exp { |
| 336 | return fmt.Errorf("Len()=%v, expected %d", got, exp) |
| 337 | } else if got, exp := l.builder.Len(), len(l.std); got != exp { |
| 338 | return fmt.Errorf("Len()=%v, expected %d", got, exp) |
| 339 | } |
| 340 | |
| 341 | for i := range l.std { |
| 342 | if got, exp := l.im.Get(i), l.std[i]; got != exp { |
| 343 | return fmt.Errorf("Get(%d)=%v, expected %v", i, got, exp) |
| 344 | } else if got, exp := l.builder.Get(i), l.std[i]; got != exp { |
| 345 | return fmt.Errorf("Builder.List/Get(%d)=%v, expected %v", i, got, exp) |
| 346 | } |
| 347 | } |
| 348 | |
| 349 | if err := l.validateForwardIterator("basic", l.im.Iterator()); err != nil { |
| 350 | return err |
| 351 | } else if err := l.validateBackwardIterator("basic", l.im.Iterator()); err != nil { |
| 352 | return err |
| 353 | } |
| 354 | |
| 355 | if err := l.validateForwardIterator("builder", l.builder.Iterator()); err != nil { |
| 356 | return err |
| 357 | } else if err := l.validateBackwardIterator("builder", l.builder.Iterator()); err != nil { |
| 358 | return err |
| 359 | } |
| 360 | return nil |
| 361 | } |
| 362 | |
| 363 | func (l *TList) validateForwardIterator(typ string, itr *ListIterator[int]) error { |
| 364 | for i := range l.std { |
no test coverage detected