public void WarewolfRequestsPerSecondPerformanceCounter_Decrement_CallsUnderlyingCounter() { var mockPerformanceCounterFactory = new Mock <IRealPerformanceCounterFactory>(); var mockCounter = new Mock <IWarewolfPerformanceCounter>(); mockCounter.SetupGet(o => o.RawValue).Returns(1); mockPerformanceCounterFactory.Setup(o => o.New(GlobalConstants.Warewolf, CounterName, GlobalConstants.GlobalCounterName)).Returns(mockCounter.Object).Verifiable(); var performanceCounterFactory = mockPerformanceCounterFactory.Object; using (IPerformanceCounter counter = new WarewolfRequestsPerSecondPerformanceCounter(performanceCounterFactory)) { counter.Setup(); counter.Decrement(); mockPerformanceCounterFactory.Verify(); mockCounter.Verify(o => o.Decrement(), Times.Once); } }