func TestEquals(t *testing.T) { var setX intsets.Sparse setX.Insert(456) setX.Insert(123) setX.Insert(789) if !setX.Equals(&setX) { t.Errorf("Equals(%s, %s): got false", &setX, &setX) } var setY intsets.Sparse setY.Insert(789) setY.Insert(456) setY.Insert(123) if !setX.Equals(&setY) { t.Errorf("Equals(%s, %s): got false", &setX, &setY) } setY.Insert(1) if setX.Equals(&setY) { t.Errorf("Equals(%s, %s): got true", &setX, &setY) } var empty intsets.Sparse if setX.Equals(&empty) { t.Errorf("Equals(%s, %s): got true", &setX, &empty) } // Edge case: some block (with offset=0) appears in X but not Y. setY.Remove(123) if setX.Equals(&setY) { t.Errorf("Equals(%s, %s): got true", &setX, &setY) } }