Skip to content

Commit 6565e47

Browse files
authored
chore(deps-dev): avoid use FluentAssertions (#247)
* chore(deps-dev): add Shouldly package * test: use Shouldly * chore(deps): remove FluentAssertions
1 parent 52bf679 commit 6565e47

File tree

3 files changed

+131
-169
lines changed

3 files changed

+131
-169
lines changed

test/Sample.Test/FizzBuzz.Test.cs

Lines changed: 20 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -8,57 +8,43 @@ namespace Sample.Test;
88
[TestClass]
99
public sealed class FizzBuzzTest
1010
{
11-
/// <summary>
12-
/// Generate values that satisfy the <paramref name="predicate"/>.
13-
/// </summary>
14-
/// <param name="predicate">
15-
/// <inheritdoc cref="Enumerable.Where{TSource}(IEnumerable{TSource}, Func{TSource, bool})" path="/param[@name='predicate']"/>
16-
/// </param>
17-
private static int[] GenerateValues(Func<int, bool> predicate)
18-
{
19-
const int count = 10;
20-
int[] values = new int[count];
21-
for (int i = 0; i < values.Length; i++)
22-
{
23-
int value;
24-
do
25-
{
26-
value = FixtureFactory.Create<int>();
27-
} while (!predicate(value));
28-
values[i] = value;
29-
}
30-
return values;
31-
}
32-
3311
/// <summary>
3412
/// When number is not divisible by 3 and 5, <see cref="FizzBuzz.ToFizzBuzzFormat"/> returns same value as <see cref="int.ToString()"/>.
3513
/// </summary>
3614
[TestMethod($"{nameof(FizzBuzz)} > {nameof(FizzBuzz.ToFizzBuzzFormat)}(<not a multiple of 3 and 5>) > returns same value as int.{nameof(int.ToString)}()")]
37-
public void When_Not_Devisible_By_3_And_5_ToFizzBuzzFormat_Returns_ToString()
38-
=> GenerateValues(static i => i % 3 != 0 && i % 5 != 0)
39-
.Should().AllSatisfy(static i => i.ToFizzBuzzFormat().Should().Be(i.ToString()));
15+
[DataRow(1)]
16+
[DataRow(101)]
17+
[DataRow(-1)]
18+
public void When_Not_Devisible_By_3_And_5_ToFizzBuzzFormat_Returns_ToString(int value)
19+
=> value.ToFizzBuzzFormat().ShouldBe(value.ToString());
4020

4121
/// <summary>
4222
/// When number is divisible by 3, <see cref="FizzBuzz.ToFizzBuzzFormat"/> returns "Fizz".
4323
/// </summary>
4424
[TestMethod($"{nameof(FizzBuzz)} > {nameof(FizzBuzz.ToFizzBuzzFormat)}(<multiple of 3>) > returns \"Fizz\"")]
45-
public void When_Devisible_By_3_ToFizzBuzzFormat_Returns_Fizz()
46-
=> GenerateValues(static i => i % 3 == 0 && i % 5 != 0)
47-
.Should().AllSatisfy(static i => i.ToFizzBuzzFormat().Should().Be("Fizz"));
25+
[DataRow(3)]
26+
[DataRow(303)]
27+
[DataRow(-3)]
28+
public void When_Devisible_By_3_ToFizzBuzzFormat_Returns_Fizz(int value)
29+
=> value.ToFizzBuzzFormat().ShouldBe("Fizz");
4830

4931
/// <summary>
5032
/// When number is divisible by 5, <see cref="FizzBuzz.ToFizzBuzzFormat"/> returns "Buzz".
5133
/// </summary>
5234
[TestMethod($"{nameof(FizzBuzz)} > {nameof(FizzBuzz.ToFizzBuzzFormat)}(<multiple of 5>) > returns \"Buzz\"")]
53-
public void When_Devisible_By_5_ToFizzBuzzFormat_Returns_Buzz()
54-
=> GenerateValues(static i => i % 3 != 0 && i % 5 == 0)
55-
.Should().AllSatisfy(static i => i.ToFizzBuzzFormat().Should().Be("Buzz"));
35+
[DataRow(5)]
36+
[DataRow(505)]
37+
[DataRow(-5)]
38+
public void When_Devisible_By_5_ToFizzBuzzFormat_Returns_Buzz(int value)
39+
=> value.ToFizzBuzzFormat().ShouldBe("Buzz");
5640

5741
/// <summary>
5842
/// When number is divisible by 15, <see cref="FizzBuzz.ToFizzBuzzFormat"/> returns "Fizz Buzz".
5943
/// </summary>
6044
[TestMethod($"{nameof(FizzBuzz)} > {nameof(FizzBuzz.ToFizzBuzzFormat)}(<multiple of 15>) > returns \"Fizz Buzz\"")]
61-
public void When_Devisible_By_15_ToFizzBuzzFormat_Returns_FizzBuzz()
62-
=> GenerateValues(static i => i % 3 == 0 && i % 5 == 0)
63-
.Should().AllSatisfy(static i => i.ToFizzBuzzFormat().Should().Be("Fizz Buzz"));
45+
[DataRow(15)]
46+
[DataRow(300)]
47+
[DataRow(-15)]
48+
public void When_Devisible_By_15_ToFizzBuzzFormat_Returns_FizzBuzz(int value)
49+
=> value.ToFizzBuzzFormat().ShouldBe("Fizz Buzz");
6450
}

test/Sample.Test/Sample.Test.csproj

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,13 @@
55
</PropertyGroup>
66

77
<ItemGroup>
8-
<PackageReference Include="FluentAssertions" Version="7.0.0" />
9-
<PackageReference Include="RandomFixtureKit" Version="1.0.1" />
8+
<PackageReference Include="Shouldly" Version="4.2.1" />
109
</ItemGroup>
1110

1211
<ItemGroup>
1312
<AssemblyAttribute Include="Microsoft.VisualStudio.TestTools.UnitTesting.ParallelizeAttribute" />
14-
<Using Include="FluentAssertions" />
1513
<Using Include="Microsoft.VisualStudio.TestTools.UnitTesting" />
16-
<Using Include="RandomFixtureKit" />
14+
<Using Include="Shouldly" />
1715
</ItemGroup>
1816

1917
<ItemGroup>

0 commit comments

Comments
 (0)