Skip to content

Commit 88efa4b

Browse files
🚧Refactor unit test assertions (#273)
* Start work for issue #109 * deps: FluentAssertions v6.11.0 nuget package added to test project * tests: refactor assertion code to use fluent assertions
1 parent d662802 commit 88efa4b

File tree

6 files changed

+229
-215
lines changed

6 files changed

+229
-215
lines changed

Testing/CASLTests/CASLTests.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
<PrivateAssets>all</PrivateAssets>
1919
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
2020
</PackageReference>
21+
<PackageReference Include="FluentAssertions" Version="6.11.0" />
2122
<PackageReference Include="Microsoft.CodeAnalysis.NetAnalyzers" Version="7.0.3">
2223
<PrivateAssets>all</PrivateAssets>
2324
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>

Testing/CASLTests/NativeInterop/ExtensionMethodTests.cs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ namespace CASLTests.NativeInterop;
77
using System;
88
using System.Runtime.InteropServices;
99
using CASL.NativeInterop;
10+
using FluentAssertions;
1011
using Xunit;
1112

1213
public class ExtensionMethodTests
@@ -19,21 +20,21 @@ public void ToManagedUTF8String_WithNullPointer_ReturnsEmptyString()
1920
var actual = IntPtr.Zero.ToManagedUtf8String();
2021

2122
// Assert
22-
Assert.Equal(string.Empty, actual);
23+
actual.Should().BeEmpty();
2324
}
2425

2526
[Fact]
2627
public void ToManagedUTF8String_WhenInvoked_ReturnsCorrectResult()
2728
{
2829
// Arrange
29-
var testString = "hello world";
30+
const string testString = "hello world";
3031
var stringDataPtr = Marshal.StringToHGlobalAnsi(testString);
3132

3233
// Act
3334
var actual = stringDataPtr.ToManagedUtf8String();
3435

3536
// Assert
36-
Assert.Equal("hello world", actual);
37+
actual.Should().Be("hello world");
3738
}
3839

3940
[Fact]
@@ -46,7 +47,7 @@ public void ToReadOnlyCollection_WhenInvoked_ReturnsCorrectResult()
4647
var actual = testItems.ToReadOnlyCollection();
4748

4849
// Assert
49-
Assert.Equal(new[] { "item-1", "item-2" }, actual);
50+
actual.Should().BeEquivalentTo("item-1", "item-2");
5051
}
5152
#endregion
5253
}

Testing/CASLTests/OpenAL/ALContextTests.cs

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
namespace CASLTests.OpenAL;
66

77
using CASL.OpenAL;
8+
using FluentAssertions;
89
using Xunit;
910

1011
/// <summary>
@@ -23,7 +24,7 @@ public void Ctr_WhenInvoked_SetHandleProperty()
2324
var context = new ALContext(handle);
2425

2526
// Assert
26-
Assert.Equal(1234, context.Handle);
27+
context.Handle.Should().Be(1234);
2728
}
2829
#endregion
2930

@@ -39,7 +40,7 @@ public void ImplicitCast_WhenInvoked_SuccessfullyCastsContextToPointer()
3940
nint actual = context;
4041

4142
// Assert
42-
Assert.Equal(1234, actual);
43+
actual.Should().Be(1234);
4344
}
4445

4546
[Fact]
@@ -53,7 +54,7 @@ public void EqualsOperator_WithEqualOperands_ReturnsTrue()
5354
var actual = left == right;
5455

5556
// Assert
56-
Assert.True(actual);
57+
actual.Should().BeTrue();
5758
}
5859

5960
[Fact]
@@ -67,7 +68,7 @@ public void NotEqualsOperator_WithNonEqualOperands_ReturnsFalse()
6768
var actual = left != right;
6869

6970
// Assert
70-
Assert.True(actual);
71+
actual.Should().BeTrue();
7172
}
7273
#endregion
7374

@@ -79,7 +80,7 @@ public void Null_WhenInvoked_ReturnsEmptyContext()
7980
var actual = ALContext.Null();
8081

8182
// Assert
82-
Assert.Equal(0, actual.Handle);
83+
actual.Handle.Should().Be(0);
8384
}
8485

8586
[Fact]
@@ -93,7 +94,7 @@ public void Equals_WithContextParamOverloadAndEqualContext_ReturnsTrue()
9394
var actual = contextA.Equals(contextB);
9495

9596
// Assert
96-
Assert.True(actual);
97+
actual.Should().BeTrue();
9798
}
9899

99100
[Fact]
@@ -107,7 +108,7 @@ public void Equals_WithObjectParamOverloadAndNonContextType_ReturnsFalse()
107108
var actual = contextA.Equals(contextB);
108109

109110
// Assert
110-
Assert.False(actual);
111+
actual.Should().BeFalse();
111112
}
112113

113114
[Fact]
@@ -121,7 +122,7 @@ public void Equals_WithObjectParamOverloadAndEqualContext_ReturnsTrue()
121122
var actual = contextA.Equals(contextB);
122123

123124
// Assert
124-
Assert.True(actual);
125+
actual.Should().BeTrue();
125126
}
126127
#endregion
127128
}

Testing/CASLTests/OpenAL/ALDeviceTests.cs

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
namespace CASLTests.OpenAL;
66

77
using CASL.OpenAL;
8+
using FluentAssertions;
89
using Xunit;
910

1011
/// <summary>
@@ -53,7 +54,7 @@ public void EqualsOperator_WithEqualOperands_ReturnsTrue()
5354
var actual = left == right;
5455

5556
// Assert
56-
Assert.True(actual);
57+
actual.Should().BeTrue();
5758
}
5859

5960
[Fact]
@@ -67,7 +68,7 @@ public void NotEqualsOperator_WithNonEqualOperands_ReturnsFalse()
6768
var actual = left != right;
6869

6970
// Assert
70-
Assert.True(actual);
71+
actual.Should().BeTrue();
7172
}
7273
#endregion
7374

@@ -93,7 +94,7 @@ public void Equals_WithDeviceParamOverloadAndEquALDevice_ReturnsTrue()
9394
var actual = deviceA.Equals(deviceB);
9495

9596
// Assert
96-
Assert.True(actual);
97+
actual.Should().BeTrue();
9798
}
9899

99100
[Fact]
@@ -107,7 +108,7 @@ public void Equals_WithObjectParamOverloadAndNonDeviceType_ReturnsFalse()
107108
var actual = deviceA.Equals(deviceB);
108109

109110
// Assert
110-
Assert.False(actual);
111+
actual.Should().BeFalse();
111112
}
112113

113114
[Fact]
@@ -121,7 +122,7 @@ public void Equals_WithObjectParamOverloadAndEquALDevice_ReturnsTrue()
121122
var actual = deviceA.Equals(deviceB);
122123

123124
// Assert
124-
Assert.True(actual);
125+
actual.Should().BeTrue();
125126
}
126127
#endregion
127128
}

0 commit comments

Comments
 (0)