aboutsummaryrefslogtreecommitdiff
path: root/kamon-core/src/test/scala/kamon/metrics/instrument/MinMaxCounterSpec.scala
diff options
context:
space:
mode:
authorDiego <diegolparra@gmail.com>2014-05-09 12:35:54 -0300
committerDiego <diegolparra@gmail.com>2014-05-09 12:35:54 -0300
commit650d82631585cd6fe06056027d69f27a33bb8d3e (patch)
tree91aaed110091a7048646e4013e5c897e9f7f0b09 /kamon-core/src/test/scala/kamon/metrics/instrument/MinMaxCounterSpec.scala
parent816cca4dacce342ef5d9c61dda744161a088d439 (diff)
downloadKamon-650d82631585cd6fe06056027d69f27a33bb8d3e.tar.gz
Kamon-650d82631585cd6fe06056027d69f27a33bb8d3e.tar.bz2
Kamon-650d82631585cd6fe06056027d69f27a33bb8d3e.zip
+ core: added MinMaxCounterSpec and new test in ActorMetricsSpec
Diffstat (limited to 'kamon-core/src/test/scala/kamon/metrics/instrument/MinMaxCounterSpec.scala')
-rw-r--r--kamon-core/src/test/scala/kamon/metrics/instrument/MinMaxCounterSpec.scala109
1 files changed, 109 insertions, 0 deletions
diff --git a/kamon-core/src/test/scala/kamon/metrics/instrument/MinMaxCounterSpec.scala b/kamon-core/src/test/scala/kamon/metrics/instrument/MinMaxCounterSpec.scala
new file mode 100644
index 00000000..a309f92e
--- /dev/null
+++ b/kamon-core/src/test/scala/kamon/metrics/instrument/MinMaxCounterSpec.scala
@@ -0,0 +1,109 @@
+package kamon.metrics.instrument
+/* =========================================================================================
+ * Copyright © 2013-2014 the kamon project <http://kamon.io/>
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the
+ * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
+ * either express or implied. See the License for the specific language governing permissions
+ * and limitations under the License.
+ * =========================================================================================
+ */
+import org.scalatest.{Matchers, WordSpecLike}
+import kamon.metrics.instruments.counter.MinMaxCounter
+
+class MinMaxCounterSpec extends WordSpecLike with Matchers {
+
+
+ "the MinMaxCounter" should {
+ "increment" in {
+ val counter = MinMaxCounter()
+
+ counter.increment()
+ counter.increment()
+ counter.increment()
+ counter.increment()
+ counter.increment()
+
+ val (_, _, sum) = counter.collect()
+
+ sum should be(5)
+ }
+
+ "decrement" in {
+ val counter = MinMaxCounter()
+ counter.increment(5L)
+
+ counter.decrement()
+ counter.decrement()
+ counter.decrement()
+ counter.decrement()
+ counter.decrement()
+
+ val (_, _, sum) = counter.collect()
+
+ sum should be(0)
+ }
+
+ "reset the min and max with the sum value when the collect method is called" in {
+ val counter = MinMaxCounter()
+
+ counter.increment(10)
+ counter.increment(20)
+ counter.increment(30)
+ counter.increment(40)
+ counter.increment(50)
+
+ counter.collect() //only for check the last value after reset min max
+
+ val (min, max, sum) = counter.collect()
+
+ min should be(sum)
+ max should be(sum)
+ sum should be(150)
+ }
+ }
+
+ "track the min value" in {
+ val counter = MinMaxCounter()
+
+ counter.increment(10)
+ counter.increment(20)
+ counter.increment(30)
+ counter.increment(40)
+ counter.increment(50)
+
+ val (min, _, _) = counter.collect()
+
+ min should be(0)
+
+ counter.increment(50)
+
+ val (minAfterCollectAndAddSomeValues, _, _) = counter.collect()
+
+ minAfterCollectAndAddSomeValues should be(150)
+ }
+
+ "track the max value" in {
+ val counter = MinMaxCounter()
+ counter.increment(10)
+ counter.increment(20)
+ counter.increment(30)
+ counter.increment(40)
+ counter.increment(50)
+
+ val (_, max, _) = counter.collect()
+
+ max should be(150)
+
+ counter.increment(200)
+
+ val (_,maxAfterCollectAndAddSomeValues, _) = counter.collect()
+
+ maxAfterCollectAndAddSomeValues should be(350)
+ }
+}