func (s *MigrationSuite) AssertExportedFields(c *gc.C, doc interface{}, fields set.Strings) { expected := getExportedFields(doc) unknown := expected.Difference(fields) removed := fields.Difference(expected) // If this test fails, it means that extra fields have been added to the // doc without thinking about the migration implications. c.Check(unknown, gc.HasLen, 0) c.Assert(removed, gc.HasLen, 0) }
// removeDiff removes every path in oldManifest that is not present in newManifest. func (d *manifestDeployer) removeDiff(oldManifest, newManifest set.Strings) error { diff := oldManifest.Difference(newManifest) for _, path := range diff.SortedValues() { fullPath := filepath.Join(d.charmPath, filepath.FromSlash(path)) if err := os.RemoveAll(fullPath); err != nil { return err } } return nil }
func (stringSetSuite) TestUninitialized(c *gc.C) { var uninitialized set.Strings c.Assert(uninitialized.Size(), gc.Equals, 0) c.Assert(uninitialized.IsEmpty(), gc.Equals, true) // You can get values and sorted values from an unitialized set. AssertValues(c, uninitialized) // All contains checks are false c.Assert(uninitialized.Contains("foo"), gc.Equals, false) // Remove works on an uninitialized Strings uninitialized.Remove("foo") var other set.Strings // Union returns a new set that is empty but initialized. c.Assert(uninitialized.Union(other), gc.DeepEquals, set.NewStrings()) c.Assert(uninitialized.Intersection(other), gc.DeepEquals, set.NewStrings()) c.Assert(uninitialized.Difference(other), gc.DeepEquals, set.NewStrings()) other = set.NewStrings("foo", "bar") c.Assert(uninitialized.Union(other), gc.DeepEquals, other) c.Assert(uninitialized.Intersection(other), gc.DeepEquals, set.NewStrings()) c.Assert(uninitialized.Difference(other), gc.DeepEquals, set.NewStrings()) c.Assert(other.Union(uninitialized), gc.DeepEquals, other) c.Assert(other.Intersection(uninitialized), gc.DeepEquals, set.NewStrings()) c.Assert(other.Difference(uninitialized), gc.DeepEquals, other) // Once something is added, the set becomes initialized. uninitialized.Add("foo") AssertValues(c, uninitialized, "foo") }