From 890fb23bb9eb7703b59be0f67d5c7d9521687251 Mon Sep 17 00:00:00 2001
From: felmer <felmer>
Date: Wed, 18 Aug 2010 09:21:37 +0000
Subject: [PATCH] LMS-1665 extend Counters

SVN: 17488
---
 .../java/ch/systemsx/cisd/common/utilities/Counters.java  | 8 ++++++++
 .../ch/systemsx/cisd/common/utilities/CountersTest.java   | 3 +++
 2 files changed, 11 insertions(+)

diff --git a/common/source/java/ch/systemsx/cisd/common/utilities/Counters.java b/common/source/java/ch/systemsx/cisd/common/utilities/Counters.java
index 521aaf3f719..3a7602e4527 100644
--- a/common/source/java/ch/systemsx/cisd/common/utilities/Counters.java
+++ b/common/source/java/ch/systemsx/cisd/common/utilities/Counters.java
@@ -60,4 +60,12 @@ public class Counters<T>
         }
         return counter.increment();
     }
+    
+    /**
+     * Returns the number of different object for which {@link #count(Object)} has been invoked.
+     */
+    public int getNumberOfDifferentObjectsCounted()
+    {
+        return counters.size();
+    }
 }
diff --git a/common/sourceTest/java/ch/systemsx/cisd/common/utilities/CountersTest.java b/common/sourceTest/java/ch/systemsx/cisd/common/utilities/CountersTest.java
index 4a3effc7ff1..45a3026543b 100644
--- a/common/sourceTest/java/ch/systemsx/cisd/common/utilities/CountersTest.java
+++ b/common/sourceTest/java/ch/systemsx/cisd/common/utilities/CountersTest.java
@@ -31,8 +31,10 @@ public class CountersTest extends AssertJUnit
     {
         Counters<String> counters = new Counters<String>();
         
+        assertEquals(0, counters.getNumberOfDifferentObjectsCounted());
         assertEquals(0, counters.getCountOf("a"));
         assertEquals(1, counters.count("a"));
+        assertEquals(1, counters.getNumberOfDifferentObjectsCounted());
         assertEquals(1, counters.getCountOf("a"));
         assertEquals(1, counters.count("b"));
         assertEquals(1, counters.getCountOf("a"));
@@ -41,5 +43,6 @@ public class CountersTest extends AssertJUnit
         assertEquals(3, counters.count("a"));
         assertEquals(3, counters.getCountOf("a"));
         assertEquals(1, counters.getCountOf("b"));
+        assertEquals(2, counters.getNumberOfDifferentObjectsCounted());
     }
 }
-- 
GitLab