public void IntersectingCountersForDifferentCategoriesInDifferentTypesCreatesMultipleInstallers() { Installer parentInstaller = new Installer(); PerformanceCounterInstallerBuilder builder = new PerformanceCounterInstallerBuilder( new Type[] { typeof(MultipleCounterTypeForCategoryA), typeof(MultipleCounterTypeForCategoryB) }); builder.Fill(parentInstaller); Assert.AreEqual(2, parentInstaller.Installers.Count); Assert.AreSame(typeof(PerformanceCounterInstaller), parentInstaller.Installers[0].GetType()); Assert.AreSame(typeof(PerformanceCounterInstaller), parentInstaller.Installers[1].GetType()); PerformanceCounterInstaller installer1 = (PerformanceCounterInstaller)parentInstaller.Installers[0]; Assert.AreEqual(PerformanceCounterCategoryType.MultiInstance, installer1.CategoryType); Assert.AreEqual("CategoryName", installer1.CategoryName); Assert.AreEqual("This is the help", installer1.CategoryHelp); Assert.AreEqual(2, installer1.Counters.Count); Assert.IsFalse(ReferenceEquals(installer1.Counters[0], installer1.Counters[1])); Assert.IsFalse(installer1.Counters[0].Equals(installer1.Counters[1])); PerformanceCounterInstaller installer2 = (PerformanceCounterInstaller)parentInstaller.Installers[1]; Assert.AreEqual(PerformanceCounterCategoryType.MultiInstance, installer2.CategoryType); Assert.AreEqual("CategoryNameB", installer2.CategoryName); Assert.AreEqual("This is the help", installer2.CategoryHelp); Assert.AreEqual(2, installer2.Counters.Count); Assert.IsFalse(ReferenceEquals(installer2.Counters[0], installer2.Counters[1])); Assert.IsFalse(installer2.Counters[0].Equals(installer2.Counters[1])); }
public void NoExceptionThrownIfNoInstrumentedTypesInList() { PerformanceCounterInstaller installer = new PerformanceCounterInstaller(); PerformanceCounterInstallerBuilder builder = new PerformanceCounterInstallerBuilder(new Type[] { typeof(NonInstrumentedClass) }); builder.Fill(installer); }
public void PerformanceCountersFromNonInstrumentedClassesAreNotAdded() { PerformanceCounterInstaller parentInstaller = new PerformanceCounterInstaller(); PerformanceCounterInstallerBuilder builder = new PerformanceCounterInstallerBuilder(new Type[] { typeof(NonInstrumentedClass) }); builder.Fill(parentInstaller); Assert.AreEqual(0, parentInstaller.Installers.Count); }
public void TypeWithNoCountersReturnsEmptyInstallers() { Installer parentInstaller = new Installer(); PerformanceCounterInstallerBuilder builder = new PerformanceCounterInstallerBuilder(new Type[] { typeof(NoCountersType) }); builder.Fill(parentInstaller); Assert.AreEqual(0, parentInstaller.Installers.Count); }
public void IntersectingDifferentCountersForSameCategoriesInDifferentTypesThrows() { Installer parentInstaller = new Installer(); PerformanceCounterInstallerBuilder builder = new PerformanceCounterInstallerBuilder( new Type[] { typeof(MultipleCounterTypeForCategoryA), typeof(AlternativeMultipleCounterTypeForCategoryAWithRepeatedDifferentCounterDefinition) }); builder.Fill(parentInstaller); }
public void SingleCounterIsAddedToInstaller() { Installer parentInstaller = new Installer(); PerformanceCounterInstallerBuilder builder = new PerformanceCounterInstallerBuilder(new Type[] { typeof(SingleCounterType) }); builder.Fill(parentInstaller); Assert.AreEqual(1, parentInstaller.Installers.Count); Assert.AreSame(typeof(PerformanceCounterInstaller), parentInstaller.Installers[0].GetType()); PerformanceCounterInstaller installer = (PerformanceCounterInstaller)parentInstaller.Installers[0]; CounterCreationData createdCounterData = installer.Counters[0]; Assert.AreEqual("Bill", createdCounterData.CounterName); Assert.AreEqual("Help Bill", createdCounterData.CounterHelp); Assert.AreEqual(PerformanceCounterType.CounterMultiTimer, createdCounterData.CounterType); }
public void CounterCategoryInformationIsPopulatedIntoCreatedInstaller() { Installer parentInstaller = new Installer(); PerformanceCounterInstallerBuilder builder = new PerformanceCounterInstallerBuilder(new Type[] { typeof(MultipleCounterTypeForCategoryA) }); builder.Fill(parentInstaller); Assert.AreEqual(1, parentInstaller.Installers.Count); Assert.AreSame(typeof(PerformanceCounterInstaller), parentInstaller.Installers[0].GetType()); PerformanceCounterInstaller installer = (PerformanceCounterInstaller)parentInstaller.Installers[0]; Assert.AreEqual(PerformanceCounterCategoryType.MultiInstance, installer.CategoryType); Assert.AreEqual("CategoryName", installer.CategoryName); Assert.AreEqual("This is the help", installer.CategoryHelp); }
public void MultipleCountersInSingleTypeAreAllAddedToInstaller() { Installer parentInstaller = new Installer(); PerformanceCounterInstallerBuilder builder = new PerformanceCounterInstallerBuilder(new Type[] { typeof(MultipleCounterTypeForCategoryA) }); builder.Fill(parentInstaller); Assert.AreEqual(1, parentInstaller.Installers.Count); Assert.AreSame(typeof(PerformanceCounterInstaller), parentInstaller.Installers[0].GetType()); PerformanceCounterInstaller installer = (PerformanceCounterInstaller)parentInstaller.Installers[0]; Assert.AreEqual(2, installer.Counters.Count); CounterCreationData firstCounter = installer.Counters[0]; CounterCreationData secondCounter = installer.Counters[1]; Assert.IsFalse(ReferenceEquals(firstCounter, secondCounter)); Assert.IsFalse(firstCounter.Equals(secondCounter)); }
public void DisjointCountersForSameCategoriesInDifferentTypesCreatesSingleInstaller() { Installer parentInstaller = new Installer(); PerformanceCounterInstallerBuilder builder = new PerformanceCounterInstallerBuilder(new Type[] { typeof(MultipleCounterTypeForCategoryA), typeof(AlternativeMultipleCounterTypeForCategoryA) }); builder.Fill(parentInstaller); Assert.AreEqual(1, parentInstaller.Installers.Count); Assert.AreSame(typeof(PerformanceCounterInstaller), parentInstaller.Installers[0].GetType()); PerformanceCounterInstaller installer = (PerformanceCounterInstaller)parentInstaller.Installers[0]; Assert.AreEqual(PerformanceCounterCategoryType.MultiInstance, installer.CategoryType); Assert.AreEqual("CategoryName", installer.CategoryName); Assert.AreEqual("This is the help", installer.CategoryHelp); Assert.AreEqual(4, installer.Counters.Count); }
public void CountersWithBaseCountersAreAddedToInstallerInCorrectOrder() { Installer parentInstaller = new Installer(); PerformanceCounterInstallerBuilder builder = new PerformanceCounterInstallerBuilder(new Type[] { typeof(TypeWithComplexCounter) }); builder.Fill(parentInstaller); PerformanceCounterInstaller installer = (PerformanceCounterInstaller)parentInstaller.Installers[0]; Assert.AreEqual(2, installer.Counters.Count); CounterCreationData realCounter = installer.Counters[0]; CounterCreationData baseCounter = installer.Counters[1]; Assert.AreEqual("real name", realCounter.CounterName); Assert.AreEqual(PerformanceCounterType.RawFraction, realCounter.CounterType); Assert.AreEqual("base name", baseCounter.CounterName); Assert.AreEqual(PerformanceCounterType.RawBase, baseCounter.CounterType); }
public void IntersectingIdenticalCountersForSameCategoriesInDifferentTypesKeepsSingleCounter() { Installer parentInstaller = new Installer(); PerformanceCounterInstallerBuilder builder = new PerformanceCounterInstallerBuilder( new Type[] { typeof(MultipleCounterTypeForCategoryA), typeof(AlternativeMultipleCounterTypeForCategoryAWithRepeatedIdenticalCounterDefinition) }); builder.Fill(parentInstaller); Assert.AreEqual(1, parentInstaller.Installers.Count); Assert.AreSame(typeof(PerformanceCounterInstaller), parentInstaller.Installers[0].GetType()); PerformanceCounterInstaller installer = (PerformanceCounterInstaller)parentInstaller.Installers[0]; Assert.AreEqual(PerformanceCounterCategoryType.MultiInstance, installer.CategoryType); Assert.AreEqual("CategoryName", installer.CategoryName); Assert.AreEqual("This is the help", installer.CategoryHelp); Assert.AreEqual(3, installer.Counters.Count); }