public void WarewolfCurrentExecutionsPerformanceCounter_Construct()
        {
            var mockPerformanceCounterFactory = new Mock <IRealPerformanceCounterFactory>();
            var performanceCounterFactory     = mockPerformanceCounterFactory.Object;
            IPerformanceCounter counter       = new WarewolfCurrentExecutionsPerformanceCounter(performanceCounterFactory);

            Assert.IsTrue(counter.IsActive);
            Assert.AreEqual(WarewolfPerfCounterType.ConcurrentRequests, counter.PerfCounterType);
            Assert.AreEqual(GlobalConstants.Warewolf, counter.Category);
            Assert.AreEqual(CounterName, counter.Name);
        }
        public void WarewolfCurrentExecutionsPerformanceCounter_Setup_CreatesCounter()
        {
            var mockPerformanceCounterFactory = new Mock <IRealPerformanceCounterFactory>();
            var mockCounter = new Mock <IWarewolfPerformanceCounter>();

            mockPerformanceCounterFactory.Setup(o => o.New(GlobalConstants.Warewolf, CounterName, GlobalConstants.GlobalCounterName)).Returns(mockCounter.Object);
            var performanceCounterFactory = mockPerformanceCounterFactory.Object;
            IPerformanceCounter counter   = new WarewolfCurrentExecutionsPerformanceCounter(performanceCounterFactory);

            counter.Setup();

            mockPerformanceCounterFactory.Verify(o => o.New(GlobalConstants.Warewolf, CounterName, GlobalConstants.GlobalCounterName), Times.Once);
        }
        public void WarewolfCurrentExecutionsPerformanceCounter_IncrementBy_CallsUnderlyingCounter()
        {
            var mockPerformanceCounterFactory = new Mock <IRealPerformanceCounterFactory>();
            var mockCounter = new Mock <IWarewolfPerformanceCounter>();

            mockPerformanceCounterFactory.Setup(o => o.New(GlobalConstants.Warewolf, CounterName, GlobalConstants.GlobalCounterName)).Returns(mockCounter.Object).Verifiable();
            var performanceCounterFactory = mockPerformanceCounterFactory.Object;
            IPerformanceCounter counter   = new WarewolfCurrentExecutionsPerformanceCounter(performanceCounterFactory);

            counter.Setup();
            counter.IncrementBy(1234);

            mockPerformanceCounterFactory.Verify();
            mockCounter.Verify(o => o.IncrementBy(1234), Times.Once);
        }
        public void WarewolfCurrentExecutionsPerformanceCounter_Reset_ClearsCounter()
        {
            var mockPerformanceCounterFactory = new Mock <IRealPerformanceCounterFactory>();
            var mockCounter = new Mock <IWarewolfPerformanceCounter>();

            mockPerformanceCounterFactory.Setup(o => o.New(GlobalConstants.Warewolf, CounterName, GlobalConstants.GlobalCounterName)).Returns(mockCounter.Object).Verifiable();
            var performanceCounterFactory = mockPerformanceCounterFactory.Object;
            IPerformanceCounter counter   = new WarewolfCurrentExecutionsPerformanceCounter(performanceCounterFactory);

            counter.Setup();
            counter.Reset();

            mockPerformanceCounterFactory.Verify();
            mockCounter.VerifySet(o => o.RawValue = 0, Times.Once);
        }
        public void WarewolfCurrentExecutionsPerformanceCounter_CreationData_Valid()
        {
            var mockPerformanceCounterFactory = new Mock <IRealPerformanceCounterFactory>();
            var performanceCounterFactory     = mockPerformanceCounterFactory.Object;
            IPerformanceCounter counter       = new WarewolfCurrentExecutionsPerformanceCounter(performanceCounterFactory);

            var data = counter.CreationData();

            Assert.AreEqual(1, data.Count());

            var dataItem = counter.CreationData().First();

            Assert.AreEqual("Concurrent requests currently executing", dataItem.CounterHelp);
            Assert.AreEqual(CounterName, dataItem.CounterName);
            Assert.AreEqual(PerformanceCounterType.NumberOfItems32, dataItem.CounterType);
        }