NUnit2041
Incompatible types for comparison constraint
Topic | Value |
---|---|
Id | NUnit2041 |
Severity | Error |
Enabled | True |
Category | Assertion |
Code | ComparableTypesAnalyzer |
Description
The comparison constraint always fails as the actual and the expected value are not comparable.
Motivation
class Foo { }
class Bar { }
var foo = new Foo();
var bar = new Bar();
Assert.That(foo, Is.GreaterThan(bar));
There is no comparisons defined between instances of types Foo
and Bar
, therefore such assertion will always fail.
How to fix violations
Fix your assertion (i.e. fix actual or expected value) or implement IComparable<Bar>
on Foo
.
Configure severity
Via ruleset file
Configure the severity per project, for more info see MSDN.
Via .editorconfig file
# NUnit2041: Incompatible types for comparison constraint
dotnet_diagnostic.NUnit2041.severity = chosenSeverity
where chosenSeverity
can be one of none
, silent
, suggestion
, warning
, or error
.
Via #pragma directive
#pragma warning disable NUnit2041 // Incompatible types for comparison constraint
Code violating the rule here
#pragma warning restore NUnit2041 // Incompatible types for comparison constraint
Or put this at the top of the file to disable all instances.
#pragma warning disable NUnit2041 // Incompatible types for comparison constraint
Via attribute [SuppressMessage]
[System.Diagnostics.CodeAnalysis.SuppressMessage("Assertion",
"NUnit2041:Incompatible types for comparison constraint",
Justification = "Reason...")]