public void ParameterProviderAddsMappingForSubClassWhenBaseClassIsMapped()
        {
            var tpp = new TraceParameterProvider();

            tpp.ForAnything()
            .With <BaseClass>()
            .Trace(c => c.Message);

            var proxy2 = new TypeImplementer(typeof(ISubClassEventSource), tpp).EventSource;

            Assert.DoesNotThrow(delegate
            {
                var proxy = new TypeImplementer(typeof(ISubClassEventSource), tpp).EventSource;
            });
        }
Esempio n. 2
0
        public void CanAddRulesToEventSource()
        {
            var tpp = new TraceParameterProvider();

            tpp.ForAnything().With <Exception>()
            .Trace(e => e.Message)
            .Trace(e => e.StackTrace);

            var proxy = (EventSourceWithRules) new TypeImplementer(typeof(EventSourceWithRules), tpp).EventSource;

            EnableLogging(proxy);
            proxy.TraceException(new Exception("oops, world"));

            // look at the events
            var events = _listener.Events.ToArray();

            Assert.AreEqual(1, events.Length);
            Assert.AreEqual(2, events[0].Payload.Count);
            Assert.That(events[0].Payload.Contains("oops, world"));
        }
Esempio n. 3
0
        public void Test33()
        {
            var tpp = new TraceParameterProvider();

            tpp.ForAnything().Trace((RagStatus r) => r.ToString());

            var proxy = (ITest33) new TypeImplementer(typeof(ITest33), tpp).EventSource;

            EnableLogging(proxy);

            // do some logging
            proxy.LogItServiceStatusEvent("it", RagStatus.Up);

            // look at the events
            var events = _listener.Events.ToArray();

            Assert.AreEqual(1, events.Length);
            Assert.AreEqual(2, events[0].Payload.Count);
            Assert.AreEqual("it", events[0].Payload[0]);
            Assert.AreEqual("Up", events[0].Payload[1]);
        }
Esempio n. 4
0
        public void ContextShouldBeLast()
        {
            var tpp = new TraceParameterProvider();

            tpp.ForAnything().AddContext("arg2", () => "extra");

            var proxy = (IPayloadOrder) new TypeImplementer(typeof(IPayloadOrder), tpp).EventSource;

            EnableLogging(proxy);

            proxy.ForLoopIteration(0);

            // look at the events
            var events = _listener.Events.ToArray();

            Assert.AreEqual(1, events.Length);

            var payload = events[0].Payload.Select(o => o.ToString()).ToArray();

            Assert.AreEqual(2, payload.Length);
            Assert.That(payload[0] == ("0"));
            Assert.That(payload[1] == ("extra"));
        }
		public void ContextShouldBeLast()
		{
			var tpp = new TraceParameterProvider();
			tpp.ForAnything().AddContext("arg2", () => "extra");

			var proxy = (IPayloadOrder)new TypeImplementer(typeof(IPayloadOrder), tpp).EventSource;
			EnableLogging(proxy);

			proxy.ForLoopIteration(0);

			// look at the events
			var events = _listener.Events.ToArray();
			Assert.AreEqual(1, events.Length);

			var payload = events[0].Payload.Select(o => o.ToString()).ToArray();

			Assert.AreEqual(2, payload.Length);
			Assert.That(payload[0] == ("0"));
			Assert.That(payload[1] == ("extra"));
		}
		public void CanAddRulesToEventSource()
		{
			var tpp = new TraceParameterProvider();
			tpp.ForAnything().With<Exception>()
				.Trace(e => e.Message)
				.Trace(e => e.StackTrace);

			var proxy = (EventSourceWithRules)new TypeImplementer(typeof(EventSourceWithRules), tpp).EventSource;
			EnableLogging(proxy);
			proxy.TraceException(new Exception("oops, world"));

			// look at the events
			var events = _listener.Events.ToArray();
			Assert.AreEqual(1, events.Length);
			Assert.AreEqual(2, events[0].Payload.Count);
			Assert.That(events[0].Payload.Contains("oops, world"));
		}
		public void Test33()
		{
			var tpp = new TraceParameterProvider();
			tpp.ForAnything().Trace((RagStatus r) => r.ToString());

			var proxy = (ITest33)new TypeImplementer(typeof(ITest33), tpp).EventSource;
			EnableLogging(proxy);

			// do some logging
			proxy.LogItServiceStatusEvent("it", RagStatus.Up);

			// look at the events
			var events = _listener.Events.ToArray();
			Assert.AreEqual(1, events.Length);
			Assert.AreEqual(2, events[0].Payload.Count);
			Assert.AreEqual("it", events[0].Payload[0]);
			Assert.AreEqual("Up", events[0].Payload[1]);
		}
		public void ParameterProviderAddsMappingForSubClassWhenBaseClassIsMapped()
		{
			var tpp = new TraceParameterProvider();
			tpp.ForAnything()
				.With<BaseClass>()
				.Trace(c => c.Message);

			var proxy2 = new TypeImplementer(typeof(ISubClassEventSource), tpp).EventSource;                

			Assert.DoesNotThrow(delegate
			{
				var proxy = new TypeImplementer(typeof(ISubClassEventSource), tpp).EventSource;                
			});
		}