"github.com/onsi/gomega/gbytes"
)

var _ = Describe("MetricsReporter", func() {
	var (
		buffer   *gbytes.Buffer
		reporter *metricsreporter.MetricsReporter
		start    time.Time
		counters []*metricsreporter.Counter
	)

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