docs/articles/nunit-analyzers/NUnit2021.md
| Topic | Value |
|---|---|
| Id | NUnit2021 |
| Severity | Error |
| Enabled | True |
| Category | Assertion |
| Code | EqualToIncompatibleTypesAnalyzer |
The EqualTo constraint always fails as the actual and the expected value cannot be equal.
class Foo { }
class Bar { }
var foo = new Foo();
var bar = new Bar();
Assert.That(foo, Is.EqualTo(bar));
There is no way that instances of types Foo and Bar could be considered equal, therefore such assertion will always
fail.
Testing non-floating point values against NaN is also invalid,
as only floating point values can be NaN.
int actual = 5;
Assert.That(actual, Is.Not.NaN);
Fix your assertion (i.e. fix actual or expected value, or choose another constraint).
<!-- start generated config severity -->Configure the severity per project, for more info see MSDN.
# NUnit2021: Incompatible types for EqualTo constraint
dotnet_diagnostic.NUnit2021.severity = chosenSeverity
where chosenSeverity can be one of none, silent, suggestion, warning, or error.
#pragma warning disable NUnit2021 // Incompatible types for EqualTo constraint
Code violating the rule here
#pragma warning restore NUnit2021 // Incompatible types for EqualTo constraint
Or put this at the top of the file to disable all instances.
#pragma warning disable NUnit2021 // Incompatible types for EqualTo constraint
[SuppressMessage][System.Diagnostics.CodeAnalysis.SuppressMessage("Assertion",
"NUnit2021:Incompatible types for EqualTo constraint",
Justification = "Reason...")]