Skip to content

Commit d08d4d9

Browse files
author
Svetlozar Stoykov
committed
Bump version to 2.1.0 and update OperationResult tests to use generic types
1 parent f9f064a commit d08d4d9

File tree

2 files changed

+25
-9
lines changed

2 files changed

+25
-9
lines changed

src/OneBitSoftware.Utilities.OperationResult/OneBitSoftware.Utilities.OperationResult.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
<PackageRequireLicenseAcceptance>False</PackageRequireLicenseAcceptance>
3333
<PackageReadmeFile>README.md</PackageReadmeFile>
3434
<PackageTags>OneBitSoftware; OperationResult;</PackageTags>
35-
<Version>2.0.0</Version>
35+
<Version>2.1.0</Version>
3636
</PropertyGroup>
3737

3838
</Project>

tests/OneBitSoftware.Utilities.OperationResultTests/OperationResultAppendErrorsTests.cs

Lines changed: 24 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -259,7 +259,7 @@ public void AppendErrors_PreservesResultObject_WhenMergingErrors()
259259
var originalResult = new { Id = 42, Name = "Test" };
260260
var target = new OperationResult<object>(originalResult);
261261

262-
var source = new OperationResult();
262+
var source = new OperationResult<int>();
263263
source.AppendError("Source error", 500);
264264

265265
// Act
@@ -276,7 +276,7 @@ public void AppendErrors_PreservesResultObject_WhenMergingErrors()
276276
public void AppendErrors_MaintainsFluentChaining_WithGenericType()
277277
{
278278
// Arrange
279-
var source1 = new OperationResult();
279+
var source1 = new OperationResult<double>();
280280
source1.AppendError("E1", 1);
281281

282282
var source2 = new OperationResult<int>();
@@ -301,7 +301,7 @@ public void AppendErrors_PreservesInitialException_FromSource()
301301
{
302302
// Arrange
303303
var sourceException = new InvalidOperationException("Source exception");
304-
var source = new OperationResult();
304+
var source = new OperationResult<int>();
305305
source.AppendException(sourceException, 999);
306306

307307
var target = new OperationResult<double>();
@@ -340,7 +340,7 @@ public void AppendErrors_HandlesSourceWithMultipleErrorTypes()
340340
public void AppendErrors_MergesSuccessMessages_AreNotTransferred()
341341
{
342342
// Arrange
343-
var source = new OperationResult();
343+
var source = new OperationResult<double>();
344344
source.AddSuccessMessage("Success from source");
345345
source.AppendError("But has error", 1);
346346

@@ -359,7 +359,7 @@ public void AppendErrors_MergesSuccessMessages_AreNotTransferred()
359359
public void AppendErrors_EmptySource_DoesNotAffectTarget()
360360
{
361361
// Arrange
362-
var source = new OperationResult(); // No errors
362+
var source = new OperationResult<double>();
363363
var target = new OperationResult<string>();
364364
target.AppendError("Target error", 1);
365365

@@ -376,7 +376,7 @@ public void AppendErrors_EmptySource_DoesNotAffectTarget()
376376
public void AppendErrors_EmptyTarget_AcceptsSourceErrors()
377377
{
378378
// Arrange
379-
var source = new OperationResult();
379+
var source = new OperationResult<object>();
380380
source.AppendError("Source error", 100);
381381

382382
var target = new OperationResult<string>();
@@ -443,7 +443,7 @@ public void AppendErrors_WithComplexGenericType_PreservesTypeIntegrity()
443443
};
444444

445445
var target = new OperationResult<Dictionary<string, List<int>>>(complexObject);
446-
var source = new OperationResult();
446+
var source = new OperationResult<int>();
447447
source.AppendError("Complex type error", 999);
448448

449449
// Act
@@ -460,7 +460,7 @@ public void AppendErrors_ReturnsCorrectType_AfterMultipleOperations()
460460
{
461461
// Arrange
462462
var target = new OperationResult<int> { ResultObject = 100 };
463-
var source1 = new OperationResult();
463+
var source1 = new OperationResult<double>();
464464
source1.AppendError("E1", 1);
465465

466466
// Act
@@ -475,4 +475,20 @@ public void AppendErrors_ReturnsCorrectType_AfterMultipleOperations()
475475
Assert.Same(target, step3);
476476
Assert.Equal(3, target.Errors.Count);
477477
}
478+
479+
[Fact]
480+
public void AppendErrors_GenericTarget_ShouldLogWhenCreatedWithALogger()
481+
{
482+
// Arrange
483+
var testLogger = new TestLogger();
484+
var operationResultNoLogger = new OperationResult();
485+
var operationResultWithLogger = new OperationResult<string>(testLogger);
486+
487+
// Act
488+
operationResultNoLogger.AppendError("test");
489+
operationResultWithLogger.AppendErrors(operationResultNoLogger);
490+
491+
// Assert
492+
Assert.Single(testLogger.LogMessages);
493+
}
478494
}

0 commit comments

Comments
 (0)