示例#1
0
        public void EnumWithOtherType_Should_NotAddEventIDToLogEvent()
        {
            var logEvent = new LogEvent <StandardLoglevel>(_ => { }, StandardLoglevel.Warning);

            EventIDExtensions.Event(logEvent, OtherTypeEnum.Event1);
            var eventID = logEvent.Details.OfType <EventID <EventClass1.EventClass2.EventEnum> >().Any().Should().BeFalse();
        }
示例#2
0
        public void EnumWithParametersAndNonStringifyableArgument_Should_UseArgumentTypeNameInstead()
        {
            var logEvent = new LogEvent <StandardLoglevel>(_ => { }, StandardLoglevel.Warning);

            EventIDExtensions.Event(logEvent, EventClass1.EventClass2.EventEnum.Event2, "Jon", "Doe", new UnstringifyableType());
            var eventID = logEvent.Details.OfType <EventID <EventClass1.EventClass2.EventEnum> >().Single();

            eventID.StringArguments.Last().Should().Be(typeof(UnstringifyableType).FullName);
        }
示例#3
0
        public void EnumInClassWithoutAnyIDs_Should_UseEnumNumberOnly()
        {
            var logEvent = new LogEvent <StandardLoglevel>(_ => { }, StandardLoglevel.Warning);

            EventIDExtensions.Event(logEvent, EventEnumWithoutAnyID.EventEnum.Event1);
            var eventID = logEvent.Details.OfType <EventID <EventEnumWithoutAnyID.EventEnum> >().Single();

            eventID.Enum.Should().Be(EventEnumWithoutAnyID.EventEnum.Event1);
            eventID.ToString().Should().Be("Event1 (1)");
        }
示例#4
0
        public void EnumInClass_Should_ListAllLevelsExceptEnumItself()
        {
            var logEvent = new LogEvent <StandardLoglevel>(_ => { }, StandardLoglevel.Warning);

            EventIDExtensions.Event(logEvent, EventEnumWithoutSubID.EventEnum.Event1);
            var eventID = logEvent.Details.OfType <EventID <EventEnumWithoutSubID.EventEnum> >().Single();

            eventID.Enum.Should().Be(EventEnumWithoutSubID.EventEnum.Event1);
            eventID.ToString().Should().Be("EventEnumWithoutSubID.Event1 (1.1)");
        }
示例#5
0
        public void EventWithSingleNullArgument_Should_NotHaveAnyArguments()
        {
            var logEvent = new LogEvent <StandardLoglevel>(_ => { }, StandardLoglevel.Warning);

            EventIDExtensions.Event(logEvent, EventClass1.EventClass2.EventEnum.Event2, (object[])null);
            var eventID = logEvent.Details.OfType <EventID <EventClass1.EventClass2.EventEnum> >().Single();

            eventID.ParameterNames.Should().Contain("firstName", "lastName", "yearOfBirth");
            eventID.StringArguments.Should().BeNull();
        }
示例#6
0
        public void EventWithTooManyArguments_Should_KeepArguments()
        {
            var logEvent = new LogEvent <StandardLoglevel>(_ => { }, StandardLoglevel.Warning);

            EventIDExtensions.Event(logEvent, EventClass1.EventClass2.EventEnum.Event2, "Jon", "Doe", 1980, 1, 2, 3);
            var eventID = logEvent.Details.OfType <EventID <EventClass1.EventClass2.EventEnum> >().Single();

            eventID.ParameterNames.Should().Contain("firstName", "lastName", "yearOfBirth");
            eventID.StringArguments.Should().Contain("Jon", "Doe", "1980", "1", "2", "3");
        }
示例#7
0
        public void EventWithTooFewArguments_Should_ReportMissingArgumentsAsNull()
        {
            var logEvent = new LogEvent <StandardLoglevel>(_ => { }, StandardLoglevel.Warning);

            EventIDExtensions.Event(logEvent, EventClass1.EventClass2.EventEnum.Event2, "Jon", "Doe");
            var eventID = logEvent.Details.OfType <EventID <EventClass1.EventClass2.EventEnum> >().Single();

            eventID.ParameterNames.Should().Contain("firstName", "lastName", "yearOfBirth");
            eventID.StringArguments.Should().Contain("Jon", "Doe");
        }
示例#8
0
        public void EnumInStruct_Should_ListAllLevels()
        {
            var logEvent = new LogEvent <StandardLoglevel>(_ => { }, StandardLoglevel.Warning);

            EventIDExtensions.Event(logEvent, EventStruct1.EventStruct2.EventEnum.Event1);
            var eventID = logEvent.Details.OfType <EventID <EventStruct1.EventStruct2.EventEnum> >().Single();

            eventID.Enum.Should().Be(EventStruct1.EventStruct2.EventEnum.Event1);
            eventID.ToString().Should().Be("EventStruct1.EventStruct2.EventEnum.Event1 (1.2.3.1)");
        }
示例#9
0
        public void EventWithNullArguments_Should_KeepArguments()
        {
            var logEvent = new LogEvent <StandardLoglevel>(_ => { }, StandardLoglevel.Warning);

            EventIDExtensions.Event(logEvent, EventClass1.EventClass2.EventEnum.Event2, null, null, null);
            var eventID = logEvent.Details.OfType <EventID <EventClass1.EventClass2.EventEnum> >().Single();

            eventID.ParameterNames.Should().Contain("firstName", "lastName", "yearOfBirth");
            eventID.StringArguments.Count().Should().Be(3);
            eventID.StringArguments.ElementAt(0).Should().BeNull();
            eventID.StringArguments.ElementAt(1).Should().BeNull();
            eventID.StringArguments.ElementAt(2).Should().BeNull();
        }
示例#10
0
 public void LogEventNull_ShouldThrow_ArgumentNullException()
 {
     Assert.Throws <ArgumentNullException>(() => EventIDExtensions.Event <StandardLoglevel, EventClass1.EventClass2.EventEnum>(null, EventClass1.EventClass2.EventEnum.Event2));
 }