public void CanDeleteGroup(GroupService<HierarchicalGroup> service, string tenant, string name)
            {
                var group = service.Create(tenant, name);

                service.Delete(group.ID);

                var fromDb = service.Get(group.ID);

                fromDb.ShouldBe(null);
            }
            public void CanDeleteGroupWithChildren(GroupService<HierarchicalGroup> service, string tenant, string name,
                string nparent1, string nparent2, string nchild)
            {
                var group = service.Create(tenant, name);
                var parent1 = service.Create(tenant, nparent1);
                var parent2 = service.Create(tenant, nparent2);
                var child = service.Create(tenant, nchild);

                service.AddChildGroup(parent1.ID, group.ID);
                service.AddChildGroup(parent2.ID, group.ID);
                service.AddChildGroup(parent2.ID, child.ID);

                service.Delete(group.ID);

                service.Get(group.ID).ShouldBe(null);
                service.Get(parent1.ID).Children.ShouldBeEmpty();
                parent2 = service.Get(parent2.ID);

                parent2.Children.ShouldNotBeEmpty();
                parent2.Children.Single().ChildGroupID.ShouldBe(child.ID);
            }