/// <summary>
		/// Initialize a new instance of the <see cref="WmiTraceListenerNode"/> class with a <see cref="WmiTraceListenerData"/> instance.
		/// </summary>
		/// <param name="wmiTraceListenerData">A <see cref="WmiTraceListenerData"/> instance.</param>
        public WmiTraceListenerNode(WmiTraceListenerData wmiTraceListenerData)
        {
			if (null == wmiTraceListenerData) throw new ArgumentNullException("wmiTraceListenerData");

			Rename(wmiTraceListenerData.Name);
			TraceOutputOptions = wmiTraceListenerData.TraceOutputOptions;
        }
		public void ListenerDataIsCreatedCorrectly()
		{
			WmiTraceListenerData listenerData =
                new WmiTraceListenerData("listener");

			Assert.AreSame(typeof(WmiTraceListener), listenerData.Type);
			Assert.AreSame(typeof(WmiTraceListenerData), listenerData.ListenerDataType);
			Assert.AreEqual("listener", listenerData.Name);
		}
            public SendToWmiTraceListenerBuilder(ILoggingConfigurationSendTo context, string listenerName)
                :base(context)
            {
                wmiTraceListener = new WmiTraceListenerData
                {
                    Name = listenerName
                };

                base.AddTraceListenerToSettingsAndCategory(wmiTraceListener);
            }
        public void CanCreateInstanceFromGivenConfiguration()
        {
            WmiTraceListenerData listenerData =
                    new WmiTraceListenerData("listener");

            MockLogObjectsHelper helper = new MockLogObjectsHelper();
            TraceListener listener = TraceListenerCustomFactory.Instance.Create(context, listenerData, helper.configurationSource, reflectionCache);

            Assert.IsNotNull(listener);
            Assert.AreEqual("listener", listener.Name);
            Assert.AreEqual(listener.GetType(), typeof(WmiTraceListener));
        }
        public void CanCreatePoliciesForWmiTraceListener()
        {
            WmiTraceListenerData listenerData = new WmiTraceListenerData("listener");
            listenerData.TraceOutputOptions = TraceOptions.Callstack | TraceOptions.ProcessId;
            listenerData.Filter = SourceLevels.Error;
            loggingSettings.TraceListeners.Add(listenerData);

            using (var container = CreateContainer())
            {
                WmiTraceListener createdObject = (WmiTraceListener)container.Resolve<TraceListener>("listener\u200cimplementation");

                Assert.IsNotNull(createdObject);
                Assert.AreEqual(listenerData.TraceOutputOptions, createdObject.TraceOutputOptions);
                Assert.IsNotNull(createdObject.Filter);
                Assert.IsInstanceOfType(createdObject.Filter, typeof(EventTypeFilter));
                Assert.AreEqual(listenerData.Filter, ((EventTypeFilter)createdObject.Filter).EventType);
            }
        }
		public void CanDeserializeSerializedConfiguration()
		{
			string name = "name";

			TraceListenerData data = new WmiTraceListenerData(name, TraceOptions.Callstack);

			LoggingSettings settings = new LoggingSettings();
			settings.TraceListeners.Add(data);

			IDictionary<string, ConfigurationSection> sections = new Dictionary<string, ConfigurationSection>();
			sections[LoggingSettings.SectionName] = settings;
			IConfigurationSource configurationSource
				= ConfigurationTestHelper.SaveSectionsInFileAndReturnConfigurationSource(sections);

			LoggingSettings roSettigs = (LoggingSettings)configurationSource.GetSection(LoggingSettings.SectionName);

			Assert.AreEqual(1, roSettigs.TraceListeners.Count);
			Assert.IsNotNull(roSettigs.TraceListeners.Get(name));
			Assert.AreEqual(TraceOptions.Callstack, roSettigs.TraceListeners.Get(name).TraceOutputOptions);
			Assert.AreSame(typeof(WmiTraceListenerData), roSettigs.TraceListeners.Get(name).GetType());
			Assert.AreSame(typeof(WmiTraceListenerData), roSettigs.TraceListeners.Get(name).ListenerDataType);
			Assert.AreSame(typeof(WmiTraceListener), roSettigs.TraceListeners.Get(name).Type);
		}
 public void WhenCreatingInstanceUsingDefaultContructor_ThenListenerDataTypeIsSet()
 {
     var listener = new WmiTraceListenerData();
     Assert.AreEqual(typeof(WmiTraceListenerData), listener.ListenerDataType);
 }