示例#1
0
        public void from_static_method_in_derived_class_show_correct_CallingType()
        {
            string param = Guid.NewGuid().ToString();
            var    log   = new List <LogEntry>();

            using (Log.Events().Subscribe(log.Add))
            {
                InheritedWidget.DoStuffStatically(param);
            }

            Assert.That(log.Single(e => e.EventType == TraceEventType.Start).CallingType,
                        Is.EqualTo(typeof(Widget)));
            Assert.That(log.Single(e => e.EventType == TraceEventType.Stop).CallingType,
                        Is.EqualTo(typeof(Widget)));
        }
示例#2
0
        public void from_instance_method_in_derived_class_show_correct_CallingType()
        {
            var entries = new List <LogEntry>();

            using (Log.Events().Subscribe(entries.Add))
            {
                var widget = new InheritedWidget();
                widget.DoStuff();
            }

            Assert.That(entries.Single(e => e.EventType == TraceEventType.Start).CallingType,
                        Is.EqualTo(typeof(InheritedWidget)));

            Assert.That(entries.Single(e => e.EventType == TraceEventType.Stop).CallingType,
                        Is.EqualTo(typeof(InheritedWidget)));
        }
示例#3
0
        public void Parameter_logging_can_be_disabled_per_class()
        {
            var log = new StringWriter();

            Extension <Boundaries> .DisableFor <InheritedWidget>();

            using (Log.Events().Subscribe(e => log.Write(e.ToLogString())))
            {
                var w  = new Widget();
                var iw = new InheritedWidget();
                w.DoStuff("should be in log");
                iw.DoStuff("should not be in log");
            }

            StringAssert.Contains("should be in log", log.ToString());
            StringAssert.DoesNotContain("should not be in log", log.ToString());
        }
示例#4
0
        public void ToLogString_uses_actual_type_formatter_and_not_compiled_type()
        {
            Widget widget = new InheritedWidget();
            bool   widgetFormatterCalled          = false;
            bool   inheritedWidgetFormatterCalled = false;

            Formatter <Widget> .Register(w =>
            {
                widgetFormatterCalled = true;
                return("");
            });

            Formatter <InheritedWidget> .Register(w =>
            {
                inheritedWidgetFormatterCalled = true;
                return("");
            });

            widget.ToLogString();

            Assert.That(!widgetFormatterCalled);
            Assert.That(inheritedWidgetFormatterCalled);
        }