Skip to content

Commit b026da0

Browse files
committed
test: make warnings fail in test project (#332)
1 parent 04020bf commit b026da0

2 files changed

Lines changed: 38 additions & 30 deletions

File tree

src/Celerity.Tests/Celerity.Tests.csproj

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,14 @@
44
<TargetFrameworks>$(CelerityTargetFrameworks)</TargetFrameworks>
55
<ImplicitUsings>enable</ImplicitUsings>
66
<Nullable>enable</Nullable>
7+
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
8+
9+
<!--
10+
#332: These assertions intentionally exercise the collection's own Contains
11+
and Count implementations. Replacing them with the xUnit alternatives would
12+
route through IEnumerable and stop testing the probe paths under test.
13+
-->
14+
<NoWarn>$(NoWarn);xUnit2013;xUnit2017;xUnit2027</NoWarn>
715

816
<IsPackable>false</IsPackable>
917
<IsTestProject>true</IsTestProject>

src/Celerity.Tests/Collections/SetIEnumerableConstructorTests.cs

Lines changed: 30 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -480,12 +480,12 @@ public void CeleritySet_ShouldSilentlyDedupe_DuplicateElements()
480480
public void CeleritySet_ShouldSilentlyDedupe_DuplicateNullElements()
481481
{
482482
// null is the out-of-band slot for reference-typed sets — ensure dedupe covers it.
483-
var source = new string?[] { "a", null, "b", null, "c", null };
483+
var source = new[] { "a", null!, "b", null!, "c", null! };
484484

485-
var set = new CeleritySet<string?, StringFnV1AHasher>(source);
485+
var set = new CeleritySet<string, StringFnV1AHasher>(source);
486486

487487
Assert.Equal(4, set.Count);
488-
Assert.True(set.Contains(null));
488+
Assert.True(set.Contains(null!));
489489
Assert.True(set.Contains("a"));
490490
Assert.True(set.Contains("b"));
491491
Assert.True(set.Contains("c"));
@@ -509,12 +509,12 @@ public void CeleritySet_ShouldSilentlyDedupe_DuplicateDefaultValueTypeElements()
509509
[Fact]
510510
public void CeleritySet_ShouldCaptureNullElement_FromSource()
511511
{
512-
var source = new string?[] { null, "x", "y" };
512+
var source = new[] { null!, "x", "y" };
513513

514-
var set = new CeleritySet<string?, StringFnV1AHasher>(source);
514+
var set = new CeleritySet<string, StringFnV1AHasher>(source);
515515

516516
Assert.Equal(3, set.Count);
517-
Assert.True(set.Contains(null));
517+
Assert.True(set.Contains(null!));
518518
Assert.True(set.Contains("x"));
519519
Assert.True(set.Contains("y"));
520520
}
@@ -662,12 +662,12 @@ public void SwissSet_ShouldSilentlyDedupe_DuplicateElements()
662662
[Fact]
663663
public void SwissSet_ShouldSilentlyDedupe_DuplicateNullElements()
664664
{
665-
var source = new string?[] { "a", null, "b", null, "c", null };
665+
var source = new[] { "a", null!, "b", null!, "c", null! };
666666

667-
var set = new SwissSet<string?, StringFnV1AHasher>(source);
667+
var set = new SwissSet<string, StringFnV1AHasher>(source);
668668

669669
Assert.Equal(4, set.Count);
670-
Assert.True(set.Contains(null));
670+
Assert.True(set.Contains(null!));
671671
Assert.True(set.Contains("a"));
672672
Assert.True(set.Contains("b"));
673673
Assert.True(set.Contains("c"));
@@ -689,12 +689,12 @@ public void SwissSet_ShouldSilentlyDedupe_DuplicateDefaultValueTypeElements()
689689
[Fact]
690690
public void SwissSet_ShouldCaptureNullElement_FromSource()
691691
{
692-
var source = new string?[] { null, "x", "y" };
692+
var source = new[] { null!, "x", "y" };
693693

694-
var set = new SwissSet<string?, StringFnV1AHasher>(source);
694+
var set = new SwissSet<string, StringFnV1AHasher>(source);
695695

696696
Assert.Equal(3, set.Count);
697-
Assert.True(set.Contains(null));
697+
Assert.True(set.Contains(null!));
698698
Assert.True(set.Contains("x"));
699699
Assert.True(set.Contains("y"));
700700
}
@@ -844,12 +844,12 @@ public void RobinHoodSet_ShouldSilentlyDedupe_DuplicateElements()
844844
[Fact]
845845
public void RobinHoodSet_ShouldSilentlyDedupe_DuplicateNullElements()
846846
{
847-
var source = new string?[] { "a", null, "b", null, "c", null };
847+
var source = new[] { "a", null!, "b", null!, "c", null! };
848848

849-
var set = new RobinHoodSet<string?, StringFnV1AHasher>(source);
849+
var set = new RobinHoodSet<string, StringFnV1AHasher>(source);
850850

851851
Assert.Equal(4, set.Count);
852-
Assert.True(set.Contains(null));
852+
Assert.True(set.Contains(null!));
853853
Assert.True(set.Contains("a"));
854854
Assert.True(set.Contains("b"));
855855
Assert.True(set.Contains("c"));
@@ -871,12 +871,12 @@ public void RobinHoodSet_ShouldSilentlyDedupe_DuplicateDefaultValueTypeElements(
871871
[Fact]
872872
public void RobinHoodSet_ShouldCaptureNullElement_FromSource()
873873
{
874-
var source = new string?[] { null, "x", "y" };
874+
var source = new[] { null!, "x", "y" };
875875

876-
var set = new RobinHoodSet<string?, StringFnV1AHasher>(source);
876+
var set = new RobinHoodSet<string, StringFnV1AHasher>(source);
877877

878878
Assert.Equal(3, set.Count);
879-
Assert.True(set.Contains(null));
879+
Assert.True(set.Contains(null!));
880880
Assert.True(set.Contains("x"));
881881
Assert.True(set.Contains("y"));
882882
}
@@ -1026,12 +1026,12 @@ public void HashCachingSet_ShouldSilentlyDedupe_DuplicateElements()
10261026
[Fact]
10271027
public void HashCachingSet_ShouldSilentlyDedupe_DuplicateNullElements()
10281028
{
1029-
var source = new string?[] { "a", null, "b", null, "c", null };
1029+
var source = new[] { "a", null!, "b", null!, "c", null! };
10301030

1031-
var set = new HashCachingSet<string?, StringFnV1AHasher>(source);
1031+
var set = new HashCachingSet<string, StringFnV1AHasher>(source);
10321032

10331033
Assert.Equal(4, set.Count);
1034-
Assert.True(set.Contains(null));
1034+
Assert.True(set.Contains(null!));
10351035
Assert.True(set.Contains("a"));
10361036
Assert.True(set.Contains("b"));
10371037
Assert.True(set.Contains("c"));
@@ -1053,12 +1053,12 @@ public void HashCachingSet_ShouldSilentlyDedupe_DuplicateDefaultValueTypeElement
10531053
[Fact]
10541054
public void HashCachingSet_ShouldCaptureNullElement_FromSource()
10551055
{
1056-
var source = new string?[] { null, "x", "y" };
1056+
var source = new[] { null!, "x", "y" };
10571057

1058-
var set = new HashCachingSet<string?, StringFnV1AHasher>(source);
1058+
var set = new HashCachingSet<string, StringFnV1AHasher>(source);
10591059

10601060
Assert.Equal(3, set.Count);
1061-
Assert.True(set.Contains(null));
1061+
Assert.True(set.Contains(null!));
10621062
Assert.True(set.Contains("x"));
10631063
Assert.True(set.Contains("y"));
10641064
}
@@ -1208,12 +1208,12 @@ public void PooledCeleritySet_ShouldSilentlyDedupe_DuplicateElements()
12081208
[Fact]
12091209
public void PooledCeleritySet_ShouldSilentlyDedupe_DuplicateNullElements()
12101210
{
1211-
var source = new string?[] { "a", null, "b", null, "c", null };
1211+
var source = new[] { "a", null!, "b", null!, "c", null! };
12121212

1213-
using var set = new PooledCeleritySet<string?, StringFnV1AHasher>(source);
1213+
using var set = new PooledCeleritySet<string, StringFnV1AHasher>(source);
12141214

12151215
Assert.Equal(4, set.Count);
1216-
Assert.True(set.Contains(null));
1216+
Assert.True(set.Contains(null!));
12171217
Assert.True(set.Contains("a"));
12181218
Assert.True(set.Contains("b"));
12191219
Assert.True(set.Contains("c"));
@@ -1235,12 +1235,12 @@ public void PooledCeleritySet_ShouldSilentlyDedupe_DuplicateDefaultValueTypeElem
12351235
[Fact]
12361236
public void PooledCeleritySet_ShouldCaptureNullElement_FromSource()
12371237
{
1238-
var source = new string?[] { null, "x", "y" };
1238+
var source = new[] { null!, "x", "y" };
12391239

1240-
using var set = new PooledCeleritySet<string?, StringFnV1AHasher>(source);
1240+
using var set = new PooledCeleritySet<string, StringFnV1AHasher>(source);
12411241

12421242
Assert.Equal(3, set.Count);
1243-
Assert.True(set.Contains(null));
1243+
Assert.True(set.Contains(null!));
12441244
Assert.True(set.Contains("x"));
12451245
Assert.True(set.Contains("y"));
12461246
}

0 commit comments

Comments
 (0)