It("does not remove other properties", func() {
					value, err := container.Property("other-property-name")
					Expect(err).ToNot(HaveOccurred())
					Expect(value).To(Equal("some-other-value"))
				})
			})

			It("returns an error when removing an undefined property", func() {
				err := container.RemoveProperty("some-other-property")
				Expect(err).To(HaveOccurred())
				Expect(err).To(MatchError("property does not exist: some-other-property"))
			})
		})

		It("can return all properties as a map", func() {
			properties, err := container.Properties()
			Expect(err).ToNot(HaveOccurred())

			Expect(properties).To(Equal(garden.Properties{"property-name": "property-value"}))
		})

		It("returns a properties snapshot", func() {
			err := container.SetProperty("some-property", "some-value")
			Expect(err).ToNot(HaveOccurred())

			properties, err := container.Properties()
			Expect(err).ToNot(HaveOccurred())
			Expect(properties["some-property"]).To(Equal("some-value"))

			err = container.SetProperty("some-property", "some-other-value")
			Expect(err).ToNot(HaveOccurred())