public void TestCreate() { const string categoryName = "Category Name"; using (SingleInstancePerformanceCounterCategory singleInstancePerformanceCounterCategory = new SingleInstancePerformanceCounterCategory(categoryName)) { Assert.That(singleInstancePerformanceCounterCategory.CategoryName, Is.EqualTo(categoryName)); } }
public void TestGetPerformanceCounter_NullCounter() { const string categoryName = "Category Name"; using (SingleInstancePerformanceCounterCategory singleInstancePerformanceCounterCategory = new SingleInstancePerformanceCounterCategory(categoryName)) { Assert.That(() => singleInstancePerformanceCounterCategory.GetPerformanceCounter <AverageTimer32PerformanceCounter>(null), Throws.TypeOf <ArgumentNullException>().And.Property("ParamName").EqualTo("counterName")); } }
public void TestNonExistantCounter(Type performanceCounterType) { MethodInfo methodInfo; SingleInstancePerformanceCounterCategory singleInstancePerformanceCounterCategory; singleInstancePerformanceCounterCategory = new SingleInstancePerformanceCounterCategory(CategoryName); methodInfo = typeof(SingleInstancePerformanceCounterCategory) .GetMethod("GetPerformanceCounter").MakeGenericMethod(performanceCounterType); Assert.That(() => methodInfo.Invoke(singleInstancePerformanceCounterCategory, BindingFlags.Default, null, new object[] { "Counter does not exist" }, null), Throws.TargetInvocationException.And.Property("InnerException").TypeOf <InvalidOperationException>()); }
public void TestGetPerformanceCounter_PercentageRate() { const string categoryName = "..category name"; // Leading '.'s place it at the front of the list. Useful for testing. const string categoryHelp = "category help"; const string percentageCounterName = "percentage counter"; const string percentageCounterHelp = "percentage help"; string baseCounterName = percentageCounterName + PerformanceCounterConstants.BaseSuffix; PercentageRatePerformanceCounter percentageRatePerformanceCounter = null; try { new PerformanceCounterCategoryFactory() .AddPercentageRate(percentageCounterName, percentageCounterHelp) .CreateCategory(categoryName, categoryHelp, PerformanceCounterCategoryType.SingleInstance); using (SingleInstancePerformanceCounterCategory singleInstancePerformanceCounterCategory = new SingleInstancePerformanceCounterCategory(categoryName)) { percentageRatePerformanceCounter = singleInstancePerformanceCounterCategory.GetPerformanceCounter <PercentageRatePerformanceCounter>(percentageCounterName); Assert.That(percentageRatePerformanceCounter.SampleFraction.CategoryName, Is.EqualTo(categoryName)); Assert.That(percentageRatePerformanceCounter.SampleFraction.CounterName, Is.EqualTo(percentageCounterName)); Assert.That(percentageRatePerformanceCounter.SampleFraction.CounterHelp, Is.EqualTo(percentageCounterHelp)); Assert.That(percentageRatePerformanceCounter.SampleBase.CategoryName, Is.EqualTo(categoryName)); Assert.That(percentageRatePerformanceCounter.SampleBase.CounterName, Is.EqualTo(baseCounterName)); } } finally { if (percentageRatePerformanceCounter != null) { percentageRatePerformanceCounter.Dispose(); percentageRatePerformanceCounter = null; } if (PerformanceCounterCategory.Exists(categoryName)) { PerformanceCounterCategory.Delete(categoryName); } } }
public void TestGetPerformanceCounter_NumberOfItems64() { const string categoryName = "..category name"; // Leading '.'s place it at the front of the list. Useful for testing. const string categoryHelp = "category help"; const string numberOfItems64CounterName = "percentage counter"; const string numberOfItems64CounterHelp = "percentage help"; NumberOfItems64PerformanceCounter numberOfItems64PerformanceCounter = null; try { new PerformanceCounterCategoryFactory() .AddNumberOfItems64(numberOfItems64CounterName, numberOfItems64CounterHelp) .CreateCategory(categoryName, categoryHelp, PerformanceCounterCategoryType.SingleInstance); using (SingleInstancePerformanceCounterCategory singleInstancePerformanceCounterCategory = new SingleInstancePerformanceCounterCategory(categoryName)) { numberOfItems64PerformanceCounter = singleInstancePerformanceCounterCategory.GetPerformanceCounter <NumberOfItems64PerformanceCounter> (numberOfItems64CounterName); Assert.That(numberOfItems64PerformanceCounter.Counter.CategoryName, Is.EqualTo(categoryName)); Assert.That(numberOfItems64PerformanceCounter.Counter.CounterName, Is.EqualTo(numberOfItems64CounterName)); Assert.That(numberOfItems64PerformanceCounter.Counter.CounterHelp, Is.EqualTo(numberOfItems64CounterHelp)); } } finally { if (numberOfItems64PerformanceCounter != null) { numberOfItems64PerformanceCounter.Dispose(); numberOfItems64PerformanceCounter = null; } if (PerformanceCounterCategory.Exists(categoryName)) { PerformanceCounterCategory.Delete(categoryName); } } }
public void TestGetPerformanceCounter_AverageTimer() { const string categoryName = "..category name"; // Leading '.'s place it at the front of the list. Useful for testing. const string categoryHelp = "category help"; const string timerCounterName = "timer counter"; const string timerCounterHelp = "timer help"; string baseCounterName = "timer counter" + PerformanceCounterConstants.BaseSuffix; AverageTimer32PerformanceCounter averageTimerPerformanceCounter = null; try { new PerformanceCounterCategoryFactory() .AddAverageTimer32(timerCounterName, timerCounterHelp) .CreateCategory(categoryName, categoryHelp, PerformanceCounterCategoryType.SingleInstance); using (SingleInstancePerformanceCounterCategory singleInstancePerformanceCounterCategory = new SingleInstancePerformanceCounterCategory(categoryName)) { averageTimerPerformanceCounter = singleInstancePerformanceCounterCategory.GetPerformanceCounter <AverageTimer32PerformanceCounter>(timerCounterName); Assert.That(averageTimerPerformanceCounter.Timer.CategoryName, Is.EqualTo(categoryName)); Assert.That(averageTimerPerformanceCounter.Timer.CounterName, Is.EqualTo(timerCounterName)); Assert.That(averageTimerPerformanceCounter.Timer.CounterHelp, Is.EqualTo(timerCounterHelp)); Assert.That(averageTimerPerformanceCounter.Base.CategoryName, Is.EqualTo(categoryName)); Assert.That(averageTimerPerformanceCounter.Base.CounterName, Is.EqualTo(baseCounterName)); } } finally { if (averageTimerPerformanceCounter != null) { averageTimerPerformanceCounter.Dispose(); averageTimerPerformanceCounter = null; } if (PerformanceCounterCategory.Exists(categoryName)) { PerformanceCounterCategory.Delete(categoryName); } } }
public IEnumerable <TestCaseData> IncorrectCounterTypeDataSource() { // There must be an easier way of handling method groups. *sigh* SingleInstancePerformanceCounterCategory singleInstancePerformanceCounterCategory = new SingleInstancePerformanceCounterCategory(CategoryName); yield return (new TestCaseData((Func <string, object>)singleInstancePerformanceCounterCategory.GetPerformanceCounter <AverageTimer32PerformanceCounter>, RateName).Throws( typeof(InvalidOperationException))); yield return (new TestCaseData((Func <string, object>)singleInstancePerformanceCounterCategory.GetPerformanceCounter <RatePerSecond32PerformanceCounter>, TimerName).Throws( typeof(InvalidOperationException))); yield return (new TestCaseData((Func <string, object>)singleInstancePerformanceCounterCategory.GetPerformanceCounter <PercentageRatePerformanceCounter>, RateName).Throws( typeof(InvalidOperationException))); yield return (new TestCaseData((Func <string, object>)singleInstancePerformanceCounterCategory.GetPerformanceCounter <NumberOfItems64PerformanceCounter>, RateName).Throws( typeof(InvalidOperationException))); }
public void TestGetPerformanceCounter_RatePerSecond32() { const string categoryName = "..category name"; // Leading '.'s place it at the front of the list. Useful for testing. const string categoryHelp = "category help"; const string timerCounterName = "rate of counts 32 counter"; const string timerCounterHelp = "rate of counts 32 counter help"; RatePerSecond32PerformanceCounter ratePerSecond32PerformanceCounter = null; try { new PerformanceCounterCategoryFactory() .AddRatePerSecond32(timerCounterName, timerCounterHelp) .CreateCategory(categoryName, categoryHelp, PerformanceCounterCategoryType.SingleInstance); using (SingleInstancePerformanceCounterCategory singleInstancePerformanceCounterCategory = new SingleInstancePerformanceCounterCategory(categoryName)) { ratePerSecond32PerformanceCounter = singleInstancePerformanceCounterCategory.GetPerformanceCounter <RatePerSecond32PerformanceCounter>(timerCounterName); Assert.That(ratePerSecond32PerformanceCounter.Rate.CategoryName, Is.EqualTo(categoryName)); Assert.That(ratePerSecond32PerformanceCounter.Rate.CounterName, Is.EqualTo(timerCounterName)); Assert.That(ratePerSecond32PerformanceCounter.Rate.CounterHelp, Is.EqualTo(timerCounterHelp)); } } finally { if (ratePerSecond32PerformanceCounter != null) { ratePerSecond32PerformanceCounter.Dispose(); ratePerSecond32PerformanceCounter = null; } if (PerformanceCounterCategory.Exists(categoryName)) { PerformanceCounterCategory.Delete(categoryName); } } }