func TestTakeMin(t *testing.T) { var set intsets.Sparse set.Insert(456) set.Insert(123) set.Insert(789) set.Insert(-123) var got int for i, want := range []int{-123, 123, 456, 789} { if !set.TakeMin(&got) || got != want { t.Errorf("TakeMin #%d: got %d, want %d", i, got, want) } } if set.TakeMin(&got) { t.Errorf("%s.TakeMin returned true", set, got) } if err := set.Check(); err != nil { t.Fatalf("check: %s: %#v", err, &set) } }
func TestBasics(t *testing.T) { var s intsets.Sparse if len := s.Len(); len != 0 { t.Errorf("Len({}): got %d, want 0", len) } if s := s.String(); s != "{}" { t.Errorf("String({}): got %q, want \"{}\"", s) } if s.Has(3) { t.Errorf("Has(3): got true, want false") } if err := s.Check(); err != nil { t.Error(err) } if !s.Insert(3) { t.Errorf("Insert(3): got false, want true") } if max := s.Max(); max != 3 { t.Errorf("Max: got %d, want 3", max) } if !s.Insert(435) { t.Errorf("Insert(435): got false, want true") } if s := s.String(); s != "{3 435}" { t.Errorf("String({3 435}): got %q, want \"{3 435}\"", s) } if max := s.Max(); max != 435 { t.Errorf("Max: got %d, want 435", max) } if len := s.Len(); len != 2 { t.Errorf("Len: got %d, want 2", len) } if !s.Remove(435) { t.Errorf("Remove(435): got false, want true") } if s := s.String(); s != "{3}" { t.Errorf("String({3}): got %q, want \"{3}\"", s) } }