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()
Beispiel #2
0
	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))
		})
	})