)

	JustBeforeEach(func() {
		buffer = gbytes.NewBuffer()
		reporter = metricsreporter.New(time.Millisecond*10, buffer, counters...)
		start = time.Now()
		go reporter.Start()
	})

	AfterEach(func() {
		buffer.Close()
	})

	Describe("SentCounter", func() {
		It("returns a non-nil counter", func() {
			Expect(reporter.SentCounter()).NotTo(BeNil())
		})
	})

	Describe("ReceiveCounter", func() {
		It("returns a non-nil counter", func() {
			Expect(reporter.ReceivedCounter()).NotTo(BeNil())
		})
	})

	Describe("Rate", func() {
		It("reports rate", func() {
			reporter.SentCounter().IncrementValue()
			time.Sleep(time.Second)

			reporter.Stop()