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(); }
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); }
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)"); }
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)"); }
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(); }
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"); }
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"); }
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)"); }
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(); }
public void LogEventNull_ShouldThrow_ArgumentNullException() { Assert.Throws <ArgumentNullException>(() => EventIDExtensions.Event <StandardLoglevel, EventClass1.EventClass2.EventEnum>(null, EventClass1.EventClass2.EventEnum.Event2)); }