Search Results for

    Show / Hide Table of Contents

    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...")]
    
    • Edit this page
    In this article
    Back to top Generated by DocFX | Copyright (c) 2018- The NUnit Project - Licensed under CC BY-NC-SA 4.0