@@ -401,49 +401,35 @@ public void TraceAndSpanAreIncludedWhenPresent()
401401 Assert . Equal ( $ "{ traceId } /{ spanId } ", sw . ToString ( ) ) ;
402402 }
403403
404- [ Fact ]
405- public void TimestampTokenRendersLocalTime ( )
404+ [ Theory ]
405+ [ InlineData ( "{Timestamp}" , "09/03/2024 14:15:16 +02:00" ) ] // Default Format
406+ [ InlineData ( "{Timestamp:o}" , "2024-09-03T14:15:16.0790000+02:00" ) ] // Round-trip Standard Format String
407+ [ InlineData ( "{Timestamp:yyyy-MM-dd HH:mm:ss}" , "2024-09-03 14:15:16" ) ] // Custom Format String
408+ public void TimestampTokenRendersLocalTime ( string actualToken , string expectedOutput )
406409 {
407410 var logTimestampWithTimeZoneOffset = DateTimeOffset . Parse ( "2024-09-03T14:15:16.079+02:00" , CultureInfo . InvariantCulture ) ;
408- var formatter = new OutputTemplateRenderer ( ConsoleTheme . None ,
409- """
410- Default Format: {Timestamp}
411- Round-trip Standard Format String: {Timestamp:o}
412- Custom Format String: {Timestamp:yyyy-MM-dd HH:mm:ss}
413- """ ,
414- CultureInfo . InvariantCulture ) ;
411+ var formatter = new OutputTemplateRenderer ( ConsoleTheme . None , actualToken , CultureInfo . InvariantCulture ) ;
415412 var evt = new LogEvent ( logTimestampWithTimeZoneOffset , LogEventLevel . Debug , null ,
416413 new MessageTemplate ( Enumerable . Empty < MessageTemplateToken > ( ) ) , Enumerable . Empty < LogEventProperty > ( ) ) ;
417414 var sw = new StringWriter ( ) ;
418415 formatter . Format ( evt , sw ) ;
419416 // expect time in local time, unchanged from the input, the +02:00 offset should not affect the output
420- Assert . Equal ( """
421- Default Format: 09/03/2024 14:15:16 +02:00
422- Round-trip Standard Format String: 2024-09-03T14:15:16.0790000+02:00
423- Custom Format String: 2024-09-03 14:15:16
424- """ , sw . ToString ( ) ) ;
417+ Assert . Equal ( expectedOutput , sw . ToString ( ) ) ;
425418 }
426419
427- [ Fact ]
428- public void UtcTimestampTokenRendersUtcTime ( )
420+ [ Theory ]
421+ [ InlineData ( "{UtcTimestamp}" , "09/03/2024 12:15:16" ) ] // Default Format
422+ [ InlineData ( "{UtcTimestamp:o}" , "2024-09-03T12:15:16.0790000Z" ) ] // Round-trip Standard Format String
423+ [ InlineData ( "{UtcTimestamp:yyyy-MM-dd HH:mm:ss}" , "2024-09-03 12:15:16" ) ] // Custom Format String
424+ public void UtcTimestampTokenRendersUtcTime ( string actualToken , string expectedOutput )
429425 {
430426 var logTimestampWithTimeZoneOffset = DateTimeOffset . Parse ( "2024-09-03T14:15:16.079+02:00" , CultureInfo . InvariantCulture ) ;
431- var formatter = new OutputTemplateRenderer ( ConsoleTheme . None ,
432- """
433- Default Format: {UtcTimestamp}
434- Round-trip Standard Format String: {UtcTimestamp:o}
435- Custom Format String: {UtcTimestamp:yyyy-MM-dd HH:mm:ss}
436- """ ,
437- CultureInfo . InvariantCulture ) ;
427+ var formatter = new OutputTemplateRenderer ( ConsoleTheme . None , actualToken , CultureInfo . InvariantCulture ) ;
438428 var evt = new LogEvent ( logTimestampWithTimeZoneOffset , LogEventLevel . Debug , null ,
439429 new MessageTemplate ( Enumerable . Empty < MessageTemplateToken > ( ) ) , Enumerable . Empty < LogEventProperty > ( ) ) ;
440430 var sw = new StringWriter ( ) ;
441431 formatter . Format ( evt , sw ) ;
442432 // expect time in UTC, the +02:00 offset must be applied to adjust the hour
443- Assert . Equal ( """
444- Default Format: 09/03/2024 12:15:16
445- Round-trip Standard Format String: 2024-09-03T12:15:16.0790000Z
446- Custom Format String: 2024-09-03 12:15:16
447- """ , sw . ToString ( ) ) ;
433+ Assert . Equal ( expectedOutput , sw . ToString ( ) ) ;
448434 }
449435}
0 commit comments