return &image.Image{}, nil } fakeCake.IsLeafStub = func(id layercake.ID) (bool, error) { for _, p := range child2parent { if p == id { return false, nil } } return true, nil } fakeCake.RemoveStub = func(id layercake.ID) error { delete(child2parent, id) return nil } }) Describe("Remove", func() { Context("when the layer has no parents", func() { BeforeEach(func() { fakeCake.GetReturns(&image.Image{}, nil) }) It("removes the layer", func() { Expect(gc.Remove(layercake.ContainerID("child"))).To(Succeed()) Expect(fakeCake.RemoveCallCount()).To(Equal(1)) Expect(fakeCake.RemoveArgsForCall(0)).To(Equal(layercake.ContainerID("child"))) })