public void StartCounter(string name)
        {
            var list = _counters[name];
            if (list == null)
            {
                list = new List<TimeMeasurer>();
                _counters[name] = list;
            }

            var measurer = new TimeMeasurer();
            list.Add(measurer);
            measurer.Start();
        }
        public void ShouldReturnNanosecondsForExactlyOneSecond()
        {
            // Arrange
            var nanosecondsPerSecond = 1000000000;
            var start = 1234567890L;
            var stop = start + nanosecondsPerSecond;
            var timeMeasurer = new TimeMeasurer(start, stop, nanosecondsPerSecond);

            // Act
            var result = timeMeasurer.Nanoseconds;

            // Assert
            Assert.That(result, Is.EqualTo(nanosecondsPerSecond));
        }
        public void ShouldReturnTimeSpanForExactlyOneSecond()
        {
            // Arrange
            var millisecondsPerSecond = 1000;
            var nanosecondsPerSecond = 1000000000;
            var start = 1234567890L;
            var stop = start + nanosecondsPerSecond;
            var timeMeasurer = new TimeMeasurer(start, stop, nanosecondsPerSecond);

            // Act
            var result = timeMeasurer.TimeSpan;

            // Assert
            Assert.That(result.TotalMilliseconds, Is.EqualTo(millisecondsPerSecond));
        }