Skip to content

Commit ed5c7a3

Browse files
committed
fixes and logging tests
1 parent 4262484 commit ed5c7a3

2 files changed

Lines changed: 77 additions & 11 deletions

File tree

src/PolylineAlgorithm.Abstraction/Internal/Logging/LogInfoExtensions.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,9 @@
33
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
44
//
55

6-
namespace PolylineAlgorithm.Abstraction.Internal;
6+
namespace PolylineAlgorithm.Abstraction.Internal.Logging;
77

88
using Microsoft.Extensions.Logging;
9-
using PolylineAlgorithm.Abstraction.Internal.Logging;
109

1110
internal static partial class LogInfoExtensions {
1211
private const LogLevel LOG_LEVEL = LogLevel.Information;

tests/PolylineAlgorithm.Abstraction.Tests/Internal/LoggingTest.cs

Lines changed: 76 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,78 @@ namespace PolylineAlgorithm.Abstraction.Tests.Internal;
77

88
using Microsoft.Extensions.Logging;
99
using Microsoft.Extensions.Logging.Testing;
10+
using PolylineAlgorithm.Abstraction.Internal.Logging;
1011

1112
[TestClass]
1213
public class LoggingTest {
13-
static FakeLoggerProvider _loggerProvider = new FakeLoggerProvider();
14-
static ILoggerFactory _loggerFactory = new FakeLoggerFactory(_loggerProvider);
14+
private static readonly FakeLoggerProvider _loggerProvider = new();
15+
private static readonly ILoggerFactory _loggerFactory = new FakeLoggerFactory(_loggerProvider);
16+
17+
[TestMethod]
18+
[DataRow(null)]
19+
[DataRow("")]
20+
[DataRow(" ")]
21+
[DataRow("operationName")]
22+
public void ILogger_LogOperationStartedInfo_Ok(string value) {
23+
// Arrange
24+
string operationName = value;
25+
26+
// Act
27+
_loggerFactory
28+
.CreateLogger<LoggingTest>()
29+
.LogOperationStartedInfo(operationName);
30+
31+
// Assert
32+
Assert.AreEqual(new EventId(201, nameof(LogInfoExtensions.LogOperationStartedInfo)), _loggerProvider.Collector.LatestRecord.Id);
33+
Assert.AreEqual(LogLevel.Information, _loggerProvider.Collector.LatestRecord.Level);
34+
Assert.AreEqual(
35+
$"Operation {value} has started.",
36+
_loggerProvider.Collector.LatestRecord.Message);
37+
}
38+
39+
[TestMethod]
40+
[DataRow(null)]
41+
[DataRow("")]
42+
[DataRow(" ")]
43+
[DataRow("operationName")]
44+
public void ILogger_LogOperationFailedInfo_Ok(string value) {
45+
// Arrange
46+
string operationName = value;
47+
48+
// Act
49+
_loggerFactory
50+
.CreateLogger<LoggingTest>()
51+
.LogOperationFailedInfo(operationName);
52+
53+
// Assert
54+
Assert.AreEqual(new EventId(202, nameof(LogInfoExtensions.LogOperationFailedInfo)), _loggerProvider.Collector.LatestRecord.Id);
55+
Assert.AreEqual(LogLevel.Information, _loggerProvider.Collector.LatestRecord.Level);
56+
Assert.AreEqual(
57+
$"Operation {value} has failed.",
58+
_loggerProvider.Collector.LatestRecord.Message);
59+
}
60+
61+
[TestMethod]
62+
[DataRow(null)]
63+
[DataRow("")]
64+
[DataRow(" ")]
65+
[DataRow("operationName")]
66+
public void ILogger_LogOperationFinishedInfo_Ok(string value) {
67+
// Arrange
68+
string operationName = value;
69+
70+
// Act
71+
_loggerFactory
72+
.CreateLogger<LoggingTest>()
73+
.LogOperationFinishedInfo(operationName);
74+
75+
// Assert
76+
Assert.AreEqual(new EventId(203, nameof(LogInfoExtensions.LogOperationFinishedInfo)), _loggerProvider.Collector.LatestRecord.Id);
77+
Assert.AreEqual(LogLevel.Information, _loggerProvider.Collector.LatestRecord.Level);
78+
Assert.AreEqual(
79+
$"Operation {value} has finished.",
80+
_loggerProvider.Collector.LatestRecord.Message);
81+
}
1582

1683
[TestMethod]
1784
[DataRow(null)]
@@ -28,7 +95,7 @@ public void ILogger_LogNullArgumentWarning_Ok(string value) {
2895
.LogNullArgumentWarning(argumentName);
2996

3097
// Assert
31-
Assert.AreEqual(1, _loggerProvider.Collector.LatestRecord.Id);
98+
Assert.AreEqual(new EventId(301, nameof(LogWarningExtensions.LogNullArgumentWarning)), _loggerProvider.Collector.LatestRecord.Id);
3299
Assert.AreEqual(LogLevel.Warning, _loggerProvider.Collector.LatestRecord.Level);
33100
Assert.AreEqual($"Argument {value ?? "(null)"} is null.", _loggerProvider.Collector.LatestRecord.Message);
34101
}
@@ -48,7 +115,7 @@ public void ILogger_LogEmptyArgumentWarning_Ok(string value) {
48115
.LogEmptyArgumentWarning(argumentName);
49116

50117
// Assert
51-
Assert.AreEqual(2, _loggerProvider.Collector.LatestRecord.Id);
118+
Assert.AreEqual(new EventId(302, nameof(LogWarningExtensions.LogEmptyArgumentWarning)), _loggerProvider.Collector.LatestRecord.Id);
52119
Assert.AreEqual(LogLevel.Warning, _loggerProvider.Collector.LatestRecord.Level);
53120
Assert.AreEqual($"Argument {value ?? "(null)"} is empty.", _loggerProvider.Collector.LatestRecord.Message);
54121
}
@@ -66,7 +133,7 @@ public void ILogger_LogInternalBufferOverflowWarning_Ok() {
66133
.LogInternalBufferOverflowWarning(position, bufferLength, requiredSpace);
67134

68135
// Assert
69-
Assert.AreEqual(3, _loggerProvider.Collector.LatestRecord.Id);
136+
Assert.AreEqual(new EventId(303, nameof(LogWarningExtensions.LogInternalBufferOverflowWarning)), _loggerProvider.Collector.LatestRecord.Id);
70137
Assert.AreEqual(LogLevel.Warning, _loggerProvider.Collector.LatestRecord.Level);
71138
Assert.AreEqual(
72139
$"Internal buffer has size of {bufferLength}. At position {position} is required additional {requiredSpace} space.",
@@ -85,7 +152,7 @@ public void ILogger_LogCannotWriteValueToBufferWarning_Ok() {
85152
.LogCannotWriteValueToBufferWarning(position, index);
86153

87154
// Assert
88-
Assert.AreEqual(4, _loggerProvider.Collector.LatestRecord.Id);
155+
Assert.AreEqual(new EventId(304, nameof(LogWarningExtensions.LogCannotWriteValueToBufferWarning)), _loggerProvider.Collector.LatestRecord.Id);
89156
Assert.AreEqual(LogLevel.Warning, _loggerProvider.Collector.LatestRecord.Level);
90157
Assert.AreEqual(
91158
$"Cannot write to internal buffer at position {position}. Current coordinate is at index {index}.",
@@ -109,7 +176,7 @@ public void ILogger_LogPolylineCannotBeShorterThanWarning_Ok(string value) {
109176
.LogPolylineCannotBeShorterThanWarning(argumentName, actualLength, minimumLength);
110177

111178
// Assert
112-
Assert.AreEqual(5, _loggerProvider.Collector.LatestRecord.Id);
179+
Assert.AreEqual(new EventId(305, nameof(LogWarningExtensions.LogPolylineCannotBeShorterThanWarning)), _loggerProvider.Collector.LatestRecord.Id);
113180
Assert.AreEqual(LogLevel.Warning, _loggerProvider.Collector.LatestRecord.Level);
114181
Assert.AreEqual(
115182
$"Argument {value} is too short. Minimal length is {minimumLength}. Actual length is {actualLength}.",
@@ -129,7 +196,7 @@ public void ILogger_LogRequestedBufferSizeExceedsMaxBufferLengthWarning_Ok() {
129196
.LogRequestedBufferSizeExceedsMaxBufferLengthWarning(requestedBufferLength, maxBufferLength);
130197

131198
// Assert
132-
Assert.AreEqual(6, _loggerProvider.Collector.LatestRecord.Id);
199+
Assert.AreEqual(new EventId(306, nameof(LogWarningExtensions.LogRequestedBufferSizeExceedsMaxBufferLengthWarning)), _loggerProvider.Collector.LatestRecord.Id);
133200
Assert.AreEqual(LogLevel.Warning, _loggerProvider.Collector.LatestRecord.Level);
134201
Assert.AreEqual(
135202
$"Requested buffer size of {requestedBufferLength} exceeds maximum allowed buffer length of {maxBufferLength}.",
@@ -147,7 +214,7 @@ public void ILogger_LogInvalidPolylineWarning_Ok() {
147214
.LogInvalidPolylineWarning(position);
148215

149216
// Assert
150-
Assert.AreEqual(7, _loggerProvider.Collector.LatestRecord.Id);
217+
Assert.AreEqual(new EventId(307, nameof(LogWarningExtensions.LogInvalidPolylineWarning)), _loggerProvider.Collector.LatestRecord.Id);
151218
Assert.AreEqual(LogLevel.Warning, _loggerProvider.Collector.LatestRecord.Level);
152219
Assert.AreEqual(
153220
$"Polyline is invalid or malformed at position {position}.",

0 commit comments

Comments
 (0)