Skip to content

Commit b485984

Browse files
replaced fluentassertions with shouldly, closes #1371 (#1387)
Co-authored-by: Steve Smith <[email protected]>
1 parent c5c25e5 commit b485984

13 files changed

Lines changed: 47 additions & 63 deletions

Directory.Packages.props

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@
2929
<PackageVersion Include="FastEndpoints.ApiExplorer" Version="2.2.0" />
3030
<PackageVersion Include="FastEndpoints.Swagger" Version="5.19.2" />
3131
<PackageVersion Include="FastEndpoints.Swagger.Swashbuckle" Version="2.2.0" />
32-
<PackageVersion Include="FluentAssertions" Version="6.12.0" />
3332
<PackageVersion Include="Flurl" Version="4.0.0" />
3433
<PackageVersion Include="Flurl.Http" Version="4.0.2" />
3534
<PackageVersion Include="GoogleReCaptcha.V3" Version="1.3.1" />

tests/DevBetterWeb.UnitTests/Core/Entities/MemberTests/MemberAddBillingActivity.cs

Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
using System;
22
using DevBetterWeb.Core.Entities;
33
using DevBetterWeb.Core.Enums;
4-
using FluentAssertions;
5-
using FluentAssertions.Execution;
4+
using Shouldly;
65
using Xunit;
76

87
namespace DevBetterWeb.UnitTests.Core.Entities.MemberTests;
@@ -21,13 +20,10 @@ public void AddsBillingActivityGivenRequiredParameters()
2120

2221
var billingActivity = member.BillingActivities[0];
2322

24-
using (new AssertionScope())
25-
{
26-
billingActivity.Details.SubscriptionPlanName.Should().Be(subscriptionPlanName);
27-
billingActivity.Details.ActionVerbPastTense.Should().Be(actionVerb);
28-
billingActivity.Details.BillingPeriod.Should().Be(billingPeriod);
29-
billingActivity.Details.MemberName.Should().Be(member.UserFullName());
30-
}
23+
billingActivity.Details.SubscriptionPlanName.ShouldBe(subscriptionPlanName);
24+
billingActivity.Details.ActionVerbPastTense.ShouldBe(actionVerb);
25+
billingActivity.Details.BillingPeriod.ShouldBe(billingPeriod);
26+
billingActivity.Details.MemberName.ShouldBe(member.UserFullName());
3127
}
3228

3329
[Fact]
@@ -44,10 +40,7 @@ public void AddsBillingActivityGivenMessageAndAmount()
4440

4541
var billingActivity = member.BillingActivities[0];
4642

47-
using (new AssertionScope())
48-
{
49-
billingActivity.Details.BillingPeriod.Should().Be(billingPeriod);
50-
billingActivity.Details.Amount.Should().Be(amount);
51-
}
43+
billingActivity.Details.BillingPeriod.ShouldBe(billingPeriod);
44+
billingActivity.Details.Amount.ShouldBe(amount);
5245
}
5346
}

tests/DevBetterWeb.UnitTests/Core/Entities/MemberTests/MemberAddFavoriteArchiveVideo.cs

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
using System.Linq;
22
using DevBetterWeb.Core.Entities;
3-
using FluentAssertions;
4-
using FluentAssertions.Execution;
3+
using Shouldly;
54
using Xunit;
65

76
namespace DevBetterWeb.UnitTests.Core.Entities.MemberTests;
@@ -22,11 +21,8 @@ public void ShouldAddFavoriteArchiveVideoGivenArchiveVideo()
2221

2322
member.AddFavoriteArchiveVideo(archiveVideo);
2423

25-
using (new AssertionScope())
26-
{
27-
member.FavoriteArchiveVideos.Single().ArchiveVideoId.Should().Be(_validArchiveVideoId);
28-
member.FavoriteArchiveVideos.Single().MemberId.Should().Be(member.Id);
29-
}
24+
member.FavoriteArchiveVideos.Single().ArchiveVideoId.ShouldBe(_validArchiveVideoId);
25+
member.FavoriteArchiveVideos.Single().MemberId.ShouldBe(member.Id);
3026
}
3127

3228
[Fact]
@@ -42,6 +38,6 @@ public void ShouldDoNothingGivenDuplicateArchiveVideo()
4238
member.AddFavoriteArchiveVideo(archiveVideo);
4339
member.AddFavoriteArchiveVideo(archiveVideo);
4440

45-
member.FavoriteArchiveVideos.Count().Should().Be(1);
41+
member.FavoriteArchiveVideos.Count().ShouldBe(1);
4642
}
4743
}

tests/DevBetterWeb.UnitTests/Core/Entities/MemberTests/MemberRemoveFavoriteArchiveVideo.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
using System.Linq;
22
using DevBetterWeb.Core.Entities;
3-
using FluentAssertions;
3+
using Shouldly;
44
using Xunit;
55

66
namespace DevBetterWeb.UnitTests.Core.Entities.MemberTests;
@@ -26,7 +26,7 @@ public void ShouldDoNothingGivenFavoriteArchiveVideoNotInFavoriteArchiveVideos()
2626
};
2727
member.RemoveFavoriteArchiveVideo(nonexistingArchiveVideo);
2828

29-
member.FavoriteArchiveVideos.Count().Should().Be(expectedCount);
29+
member.FavoriteArchiveVideos.Count().ShouldBe(expectedCount);
3030
}
3131

3232
[Fact]
@@ -39,8 +39,8 @@ public void ShouldRemoveFavoriteArchiveVideoGivenExistingFavoriteArchiveVideo()
3939
};
4040
member.AddFavoriteArchiveVideo(archiveVideo);
4141

42-
member.RemoveFavoriteArchiveVideo(archiveVideo);
42+
member.RemoveFavoriteArchiveVideo(archiveVideo);
4343

44-
member.FavoriteArchiveVideos.Should().BeEmpty();
44+
member.FavoriteArchiveVideos.ShouldBeEmpty();
4545
}
4646
}

tests/DevBetterWeb.UnitTests/Core/Events/BillingActivityCreatedEventConstructor.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
using DevBetterWeb.Core.Events;
55
using DevBetterWeb.Core.ValueObjects;
66
using DevBetterWeb.UnitTests.Core.Entities;
7-
using FluentAssertions;
7+
using Shouldly;
88
using Xunit;
99

1010
namespace DevBetterWeb.UnitTests.Core.Events;
@@ -28,24 +28,24 @@ public void ShouldSetValues()
2828
{
2929
var sut = new BillingActivityCreatedEvent(_billingActivity, _member);
3030

31-
sut.DateOccurred.Should().NotBe(default);
32-
sut.Member.Should().Be(_member);
33-
sut.BillingActivity.Should().Be(_billingActivity);
31+
sut.DateOccurred.ShouldNotBe(default);
32+
sut.Member.ShouldBe(_member);
33+
sut.BillingActivity.ShouldBe(_billingActivity);
3434
}
3535

3636
[Fact]
3737
public void ShouldThrowExceptionWhenBillingActivityIsNull()
3838
{
3939
var action = () => new BillingActivityCreatedEvent(null!, _member);
4040

41-
action.Should().Throw<ArgumentNullException>();
41+
action.ShouldThrow<ArgumentNullException>();
4242
}
4343

4444
[Fact]
4545
public void ShouldThrowExceptionWhenMemberIsNull()
4646
{
4747
var action = () => new BillingActivityCreatedEvent(_billingActivity, null!);
4848

49-
action.Should().Throw<ArgumentNullException>();
49+
action.ShouldThrow<ArgumentNullException>();
5050
}
5151
}

tests/DevBetterWeb.UnitTests/Core/Events/SubscriptionAddedEventConstructor.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
using DevBetterWeb.Core.Entities;
33
using DevBetterWeb.Core.Events;
44
using DevBetterWeb.UnitTests.Core.Entities;
5-
using FluentAssertions;
5+
using Shouldly;
66
using Xunit;
77

88
namespace DevBetterWeb.UnitTests.Core.Events;
@@ -17,23 +17,23 @@ public void ShouldSetValues()
1717
{
1818
var sut = new SubscriptionAddedEvent(_member, _memberSubscription);
1919

20-
sut.Member.Should().Be(_member);
21-
sut.MemberSubscription.Should().Be(_memberSubscription);
20+
sut.Member.ShouldBe(_member);
21+
sut.MemberSubscription.ShouldBe(_memberSubscription);
2222
}
2323

2424
[Fact]
2525
public void ShouldThrowExceptionWhenMemberIsNull()
2626
{
2727
var action = () => new SubscriptionAddedEvent(null!, _memberSubscription);
2828

29-
action.Should().Throw<ArgumentNullException>();
29+
action.ShouldThrow<ArgumentNullException>();
3030
}
3131

3232
[Fact]
3333
public void ShouldThrowExceptionWhenMemberSubscriptionIsNull()
3434
{
3535
var action = () => new SubscriptionAddedEvent(_member, null!);
3636

37-
action.Should().Throw<ArgumentNullException>();
37+
action.ShouldThrow<ArgumentNullException>();
3838
}
3939
}

tests/DevBetterWeb.UnitTests/Core/Events/SubscriptionUpdatedEventConstructor.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
using DevBetterWeb.Core.Entities;
33
using DevBetterWeb.Core.Events;
44
using DevBetterWeb.UnitTests.Core.Entities;
5-
using FluentAssertions;
5+
using Shouldly;
66
using Xunit;
77

88
namespace DevBetterWeb.UnitTests.Core.Events;
@@ -17,23 +17,23 @@ public void ShouldSetValues()
1717
{
1818
var sut = new SubscriptionUpdatedEvent(_member, _memberSubscription);
1919

20-
sut.Member.Should().Be(_member);
21-
sut.MemberSubscription.Should().Be(_memberSubscription);
20+
sut.Member.ShouldBe(_member);
21+
sut.MemberSubscription.ShouldBe(_memberSubscription);
2222
}
2323

2424
[Fact]
2525
public void ShouldThrowExceptionWhenMemberIsNull()
2626
{
2727
var action = () => new SubscriptionUpdatedEvent(null!, _memberSubscription);
2828

29-
action.Should().Throw<ArgumentNullException>();
29+
action.ShouldThrow<ArgumentNullException>();
3030
}
3131

3232
[Fact]
3333
public void ShouldThrowExceptionWhenMemberSubscriptionIsNull()
3434
{
3535
var action = () => new SubscriptionUpdatedEvent(_member, null!);
3636

37-
action.Should().Throw<ArgumentNullException>();
37+
action.ShouldThrow<ArgumentNullException>();
3838
}
3939
}

tests/DevBetterWeb.UnitTests/Core/Specs/ArchiveVideoByPageSpecEvaluate.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
using System.Linq;
44
using DevBetterWeb.Core.Entities;
55
using DevBetterWeb.Core.Specs;
6-
using FluentAssertions;
6+
using Shouldly;
77
using Xunit;
88

99
namespace DevBetterWeb.UnitTests.Core.Specs;
@@ -44,7 +44,7 @@ public void ReturnsUnfilteredListGivenNullSearchExpression()
4444

4545
var result = sut.Evaluate(_archiveVideos);
4646

47-
result.Should().HaveCount(_archiveVideos.Count());
47+
result.Count().ShouldBe(_archiveVideos.Count());
4848
}
4949

5050
[Theory]
@@ -61,7 +61,7 @@ public void ReturnsFilteredListGivenSearchExpression(string search, int expected
6161

6262
var result = sut.Evaluate(_archiveVideos);
6363

64-
result.Should().HaveCount(expectedCount);
64+
result.Count().ShouldBe(expectedCount);
6565
}
6666

6767
[Theory]
@@ -80,7 +80,7 @@ public void ReturnsFilteredListGivenSkipExpression(int skip, int expectedCount)
8080

8181
var result = sut.Evaluate(_archiveVideos);
8282

83-
result.Should().HaveCount(expectedCount);
83+
result.Count().ShouldBe(expectedCount);
8484
}
8585

8686
[Theory]
@@ -99,6 +99,6 @@ public void ReturnsFilteredListGivenSizeExpression(int size, int expectedCount)
9999

100100
var result = sut.Evaluate(_archiveVideos);
101101

102-
result.Should().HaveCount(expectedCount);
102+
result.Count().ShouldBe(expectedCount);
103103
}
104104
}
Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
using DevBetterWeb.Core.ValueObjects;
2-
using FluentAssertions;
3-
using FluentAssertions.Execution;
2+
using Shouldly;
43
using Xunit;
54

65
namespace DevBetterWeb.UnitTests.Core.ValueObjects;
@@ -15,10 +14,7 @@ public void SetValuesGivenMemberIdAndArchiveVideoId()
1514
{
1615
var memberFavoriteArchiveVideo = new MemberFavoriteArchiveVideo(_validMemberId, _validArchiveVideoId);
1716

18-
using (new AssertionScope())
19-
{
20-
memberFavoriteArchiveVideo.ArchiveVideoId.Should().Be(_validArchiveVideoId);
21-
memberFavoriteArchiveVideo.MemberId.Should().Be(_validMemberId);
22-
}
17+
memberFavoriteArchiveVideo.ArchiveVideoId.ShouldBe(_validArchiveVideoId);
18+
memberFavoriteArchiveVideo.MemberId.ShouldBe(_validMemberId);
2319
}
2420
}

tests/DevBetterWeb.UnitTests/DevBetterWeb.UnitTests.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@
55
<IsPackable>false</IsPackable>
66
</PropertyGroup>
77
<ItemGroup>
8-
<PackageReference Include="FluentAssertions" />
98
<PackageReference Include="Microsoft.Extensions.Identity.Core" />
109
<PackageReference Include="Microsoft.NET.Test.Sdk" />
1110
<PackageReference Include="NSubstitute" />
11+
<PackageReference Include="Shouldly" />
1212
<PackageReference Include="xunit" />
1313
<PackageReference Include="xunit.runner.visualstudio">
1414
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>

0 commit comments

Comments
 (0)