(t *testing.T)
| 210 | } |
| 211 | |
| 212 | func TestMaxGapRemoveRandom(t *testing.T) { |
| 213 | var s gapSet |
| 214 | for i := 0; i < testSize; i++ { |
| 215 | s.InsertWithoutMergingRange(Range{i, i + 1}, i+valueOffset) |
| 216 | } |
| 217 | order := rand.Perm(testSize) |
| 218 | var nrRemovals int |
| 219 | for i, j := range order { |
| 220 | seg := s.FindSegment(j) |
| 221 | if !seg.Ok() { |
| 222 | t.Errorf("Iteration %d: failed to find segment with key %d", i, j) |
| 223 | break |
| 224 | } |
| 225 | temprange := seg.Range() |
| 226 | s.Remove(seg) |
| 227 | nrRemovals++ |
| 228 | if err := s.segmentTestCheck(testSize-nrRemovals, validate); err != nil { |
| 229 | t.Errorf("Iteration %d: %v", i, err) |
| 230 | break |
| 231 | } |
| 232 | if err := checkSetMaxGap(&s); err != nil { |
| 233 | t.Errorf("When removing %v: %v", temprange, err) |
| 234 | break |
| 235 | } |
| 236 | } |
| 237 | if got, want := s.countSegments(), testSize-nrRemovals; got != want { |
| 238 | t.Errorf("Wrong final number of segments: got %d, wanted %d", got, want) |
| 239 | } |
| 240 | if t.Failed() { |
| 241 | t.Logf("Removal order: %v", order[:nrRemovals]) |
| 242 | t.Logf("Set contents:\n%v", &s) |
| 243 | t.FailNow() |
| 244 | } |
| 245 | } |
| 246 | |
| 247 | func TestMaxGapRemoveHalfRandom(t *testing.T) { |
| 248 | var s gapSet |
nothing calls this directly
no test coverage detected
searching dependent graphs…