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))