BeforeEach(func() { counter1 = metricsreporter.NewCounter("counter1") counter2 = metricsreporter.NewCounter("counter2") counters = []*metricsreporter.Counter{counter1, counter2} }) It("reports the column names", func() { Eventually(buffer).Should(gbytes.Say("Runtime, Sent, Received, Rate, PercentLoss, counter1, counter2")) }) It("reports additional counter values", func() { reporter.ReceivedCounter().IncrementValue() reporter.SentCounter().IncrementValue() counter1.IncrementValue() counter2.IncrementValue() counter2.IncrementValue() Eventually(reporter.NumTicks, "20ms", "1ms").Should(BeEquivalentTo(1)) Eventually(buffer, 10).Should(gbytes.Say(fmt.Sprintf("%s, 1, 1, %.2f/s, 0.00%%, 1, 2", reporter.Duration(), reporter.Rate()))) }) It("reports individual counter average", func() { reporter.SentCounter().IncrementValue() reporter.SentCounter().IncrementValue() reporter.ReceivedCounter().IncrementValue() counter1.IncrementValue() counter2.IncrementValue() counter2.IncrementValue()
Context("GetValue", func() { It("returns its current value", func() { Expect(counter.GetValue()).To(BeEquivalentTo(0)) }) }) Context("GetTotal", func() { It("returns its current total", func() { Expect(counter.GetTotal()).To(BeEquivalentTo(0)) }) }) Context("IncrementValue", func() { It("increments the value", func() { counter.IncrementValue() Expect(counter.GetValue()).To(BeEquivalentTo(1)) }) }) Context("Reset", func() { It("adds the current value to the total and resets the value to zero", func() { counter.IncrementValue() counter.IncrementValue() counter.Reset() Expect(counter.GetValue()).To(BeEquivalentTo(0)) Expect(counter.GetTotal()).To(BeEquivalentTo(2)) }) })