Expect(ids).To(ContainElement(layercake.ContainerID("def").GraphID())) Expect(ids).To(ContainElement(layercake.ContainerID("abc").GraphID())) Expect(ids).To(ContainElement(layercake.ContainerID("child2").GraphID())) }) }) Describe("IsLeaf", func() { BeforeEach(func() { createContainerLayer(cake, layercake.ContainerID("def"), layercake.DockerImageID(""), "") createContainerLayer(cake, layercake.ContainerID("abc"), layercake.ContainerID("def"), "") createContainerLayer(cake, layercake.ContainerID("child2"), layercake.ContainerID("def"), "") }) Context("when an image has no children", func() { It("is a leaf", func() { Expect(cake.IsLeaf(layercake.ContainerID("abc"))).To(Equal(true)) }) }) Context("when an image has children", func() { It("is not a leaf", func() { Expect(cake.IsLeaf(layercake.ContainerID("def"))).To(Equal(false)) }) }) Context("when an image's final child is removed", func() { It("is becomes a leaf", func() { Expect(cake.IsLeaf(layercake.ContainerID("def"))).To(Equal(false)) Expect(cake.Remove(layercake.ContainerID("abc"))).To(Succeed()) Expect(cake.IsLeaf(layercake.ContainerID("def"))).To(Equal(false))