hbEvent := hbEnvelope.GetHeartbeat()

			Expect(hbEvent.GetReceivedCount()).To(Equal(uint64(1)))
		})
	})

	Describe("Close", func() {
		var heartbeatResponder emitter.ByteEmitter

		BeforeEach(func() {
			heartbeatResponder, _ = emitter.NewHeartbeatResponder(wrappedEmitter, origin)
		})

		It("eventually delegates to the inner heartbeat emitter", func() {
			heartbeatResponder.Close()
			Eventually(wrappedEmitter.IsClosed).Should(BeTrue())
		})

		It("can be called more than once", func() {
			heartbeatResponder.Close()
			Expect(heartbeatResponder.Close).ToNot(Panic())
		})
	})

	Describe("RespondToHeartbeat", func() {
		var heartbeatResponder emitter.RespondingByteEmitter

		BeforeEach(func() {
			heartbeatResponder, _ = emitter.NewHeartbeatResponder(wrappedEmitter, origin)
		})
					hbEvent := hbEnvelope.GetHeartbeat()

					if hbEvent.GetReceivedCount() == 1 {
						return true
					}
				}

				return false
			}).Should(BeTrue())
		})
	})

	Describe("Close", func() {
		var hbEmitter emitter.ByteEmitter

		BeforeEach(func() {
			hbEmitter, _ = emitter.NewHeartbeatEmitter(wrappedEmitter, origin)
		})

		It("eventually delegates to the inner heartbeat emitter", func() {
			hbEmitter.Close()
			Eventually(wrappedEmitter.IsClosed).Should(BeTrue())
		})

		It("can be called more than once", func() {
			hbEmitter.Close()
			Expect(hbEmitter.Close).ToNot(Panic())
		})
	})
})