@Override public void testGetCounterNames(Method method) { //we need to cleanup other tests counters from the caches. clearCaches(); final Random random = generateRandom(); final String counterNamePrefix = method.getName(); final CounterManager counterManager = getTestedCounterManager(); final int numCounters = random.nextInt(10) + 1; final List<CounterConfiguration> configList = new ArrayList<>(numCounters); final Set<String> counterSet = new HashSet<>(); //adds some randomness to the test by adding 1 to 10 counters for (int i = 0; i < numCounters; ++i) { CounterConfiguration config = builder(CounterType.valueOf(random.nextInt(3))).initialValue(random.nextLong()) .build(); assertTrue(counterManager.defineCounter(counterNamePrefix + i, config)); configList.add(config); counterSet.add(counterNamePrefix + i); } Set<String> counterNames = new HashSet<>(counterManager.getCounterNames()); assertEquals(counterSet, counterNames); for (int i = 0; i < numCounters; ++i) { final String counterName = counterNamePrefix + i; assertTrue(counterNames.contains(counterName)); CounterConfiguration config = configList.get(i); CounterConfiguration storedConfig = config.type() == CounterType.WEAK ? counterManager.getWeakCounter(counterName).getConfiguration() : counterManager.getStrongCounter(counterName).getConfiguration(); assertEquals(config, storedConfig); } }