<PackageReference Include="NUnit" Version="4.3.2" />

Warn

public abstract class Warn
Provides static methods to express conditions that must be met for the test to succeed. If any test fails, a warning is issued.
using NUnit.Framework.Constraints; using NUnit.Framework.Internal; using System; using System.ComponentModel; using System.Runtime.CompilerServices; namespace NUnit.Framework { [System.Runtime.CompilerServices.NullableContext(1)] [System.Runtime.CompilerServices.Nullable(0)] public abstract class Warn { [EditorBrowsable(EditorBrowsableState.Never)] public new static bool Equals(object a, object b) { throw new InvalidOperationException("Warn.Equals should not be used."); } [EditorBrowsable(EditorBrowsableState.Never)] public new static void ReferenceEquals(object a, object b) { throw new InvalidOperationException("Warn.ReferenceEquals should not be used."); } public static void Unless<[System.Runtime.CompilerServices.Nullable(2)] TActual>(ActualValueDelegate<TActual> del, IResolveConstraint expr, NUnitString message = default(NUnitString), [CallerArgumentExpression("del")] string actualExpression = "", [CallerArgumentExpression("expr")] string constraintExpression = "") { IConstraint constraint = expr.Resolve(); IncrementAssertCount(); ConstraintResult constraintResult = constraint.ApplyTo(del); if (!constraintResult.IsSuccess) IssueWarning(constraintResult, "Unless", message.ToString(), actualExpression, constraintExpression); } public static void Unless<[System.Runtime.CompilerServices.Nullable(2)] TActual>(ActualValueDelegate<TActual> del, IResolveConstraint expr, FormattableString message, [CallerArgumentExpression("del")] string actualExpression = "", [CallerArgumentExpression("expr")] string constraintExpression = "") { IConstraint constraint = expr.Resolve(); IncrementAssertCount(); ConstraintResult constraintResult = constraint.ApplyTo(del); if (!constraintResult.IsSuccess) IssueWarning(constraintResult, "Unless", message.ToString(), actualExpression, constraintExpression); } public static void Unless<[System.Runtime.CompilerServices.Nullable(2)] TActual>(ActualValueDelegate<TActual> del, IResolveConstraint expr, Func<string> getExceptionMessage, [CallerArgumentExpression("del")] string actualExpression = "", [CallerArgumentExpression("expr")] string constraintExpression = "") { IConstraint constraint = expr.Resolve(); IncrementAssertCount(); ConstraintResult constraintResult = constraint.ApplyTo(del); if (!constraintResult.IsSuccess) IssueWarning(constraintResult, "Unless", getExceptionMessage(), actualExpression, constraintExpression); } public static void Unless(bool condition, NUnitString message = default(NUnitString), [CallerArgumentExpression("condition")] string actualExpression = "") { Unless(condition, Is.True, () => message.ToString(), actualExpression, "Is.True"); } public static void Unless(bool condition, FormattableString message, [CallerArgumentExpression("condition")] string actualExpression = "") { Unless(condition, Is.True, () => message.ToString(), actualExpression, "Is.True"); } public static void Unless(bool condition, Func<string> getExceptionMessage, [CallerArgumentExpression("condition")] string actualExpression = "") { Unless(condition, Is.True, getExceptionMessage, actualExpression, "Is.True"); } public static void Unless(Func<bool> condition, NUnitString message = default(NUnitString), [CallerArgumentExpression("condition")] string actualExpression = "") { Unless(condition(), Is.True, message, actualExpression, "Is.True"); } public static void Unless(Func<bool> condition, FormattableString message, [CallerArgumentExpression("condition")] string actualExpression = "") { Unless(condition(), Is.True, message, actualExpression, "Is.True"); } public static void Unless(Func<bool> condition, Func<string> getExceptionMessage, [CallerArgumentExpression("condition")] string actualExpression = "") { Unless(condition(), Is.True, getExceptionMessage, actualExpression, "Is.True"); } public static void Unless<[System.Runtime.CompilerServices.Nullable(2)] TActual>(TActual actual, IResolveConstraint expression, NUnitString message = default(NUnitString), [CallerArgumentExpression("actual")] string actualExpression = "", [CallerArgumentExpression("expression")] string constraintExpression = "") { Unless(actual, expression, () => message.ToString(), actualExpression, constraintExpression); } public static void Unless<[System.Runtime.CompilerServices.Nullable(2)] TActual>(TActual actual, IResolveConstraint expression, FormattableString message, [CallerArgumentExpression("actual")] string actualExpression = "", [CallerArgumentExpression("expression")] string constraintExpression = "") { Unless(actual, expression, () => message.ToString(), actualExpression, constraintExpression); } public static void Unless<[System.Runtime.CompilerServices.Nullable(2)] TActual>(TActual actual, IResolveConstraint expression, Func<string> getExceptionMessage, [CallerArgumentExpression("actual")] string actualExpression = "", [CallerArgumentExpression("expression")] string constraintExpression = "") { IConstraint constraint = expression.Resolve(); IncrementAssertCount(); ConstraintResult constraintResult = constraint.ApplyTo(actual); if (!constraintResult.IsSuccess) IssueWarning(constraintResult, "Unless", getExceptionMessage(), actualExpression, constraintExpression); } public static void If<[System.Runtime.CompilerServices.Nullable(2)] TActual>(ActualValueDelegate<TActual> del, IResolveConstraint expr, NUnitString message = default(NUnitString), [CallerArgumentExpression("del")] string actualExpression = "", [CallerArgumentExpression("expr")] string constraintExpression = "") { NotConstraint notConstraint = new NotConstraint(expr.Resolve()); IncrementAssertCount(); ConstraintResult constraintResult = notConstraint.ApplyTo(del); if (!constraintResult.IsSuccess) IssueWarning(constraintResult, "If", message.ToString(), actualExpression, constraintExpression); } public static void If<[System.Runtime.CompilerServices.Nullable(2)] TActual>(ActualValueDelegate<TActual> del, IResolveConstraint expr, FormattableString message, [CallerArgumentExpression("del")] string actualExpression = "", [CallerArgumentExpression("expr")] string constraintExpression = "") { NotConstraint notConstraint = new NotConstraint(expr.Resolve()); IncrementAssertCount(); ConstraintResult constraintResult = notConstraint.ApplyTo(del); if (!constraintResult.IsSuccess) IssueWarning(constraintResult, "If", message.ToString(), actualExpression, constraintExpression); } public static void If<[System.Runtime.CompilerServices.Nullable(2)] TActual>(ActualValueDelegate<TActual> del, IResolveConstraint expr, Func<string> getExceptionMessage, [CallerArgumentExpression("del")] string actualExpression = "", [CallerArgumentExpression("expr")] string constraintExpression = "") { NotConstraint notConstraint = new NotConstraint(expr.Resolve()); IncrementAssertCount(); ConstraintResult constraintResult = notConstraint.ApplyTo(del); if (!constraintResult.IsSuccess) IssueWarning(constraintResult, "If", getExceptionMessage(), actualExpression, constraintExpression); } public static void If(bool condition, NUnitString message = default(NUnitString), [CallerArgumentExpression("condition")] string actualExpression = "") { If(condition, Is.True, () => message.ToString(), actualExpression, "Is.True"); } public static void If(bool condition, FormattableString message, [CallerArgumentExpression("condition")] string actualExpression = "") { If(condition, Is.True, () => message.ToString(), actualExpression, "Is.True"); } public static void If(bool condition, Func<string> getExceptionMessage, [CallerArgumentExpression("condition")] string actualExpression = "") { If(condition, Is.True, getExceptionMessage, actualExpression, "Is.True"); } public static void If(Func<bool> condition, NUnitString message = default(NUnitString), [CallerArgumentExpression("condition")] string actualExpression = "") { If(condition(), Is.True, () => message.ToString(), actualExpression, "Is.True"); } public static void If(Func<bool> condition, FormattableString message, [CallerArgumentExpression("condition")] string actualExpression = "") { If(condition(), Is.True, () => message.ToString(), actualExpression, "Is.True"); } public static void If(Func<bool> condition, Func<string> getExceptionMessage, [CallerArgumentExpression("condition")] string actualExpression = "") { If(condition(), Is.True, getExceptionMessage, actualExpression, "Is.True"); } public static void If<[System.Runtime.CompilerServices.Nullable(2)] TActual>(TActual actual, IResolveConstraint expression, NUnitString message = default(NUnitString), [CallerArgumentExpression("actual")] string actualExpression = "", [CallerArgumentExpression("expression")] string constraintExpression = "") { If(actual, expression, () => message.ToString(), actualExpression, constraintExpression); } public static void If<[System.Runtime.CompilerServices.Nullable(2)] TActual>(TActual actual, IResolveConstraint expression, FormattableString message, [CallerArgumentExpression("actual")] string actualExpression = "", [CallerArgumentExpression("expression")] string constraintExpression = "") { If(actual, expression, () => message.ToString(), actualExpression, constraintExpression); } public static void If<[System.Runtime.CompilerServices.Nullable(2)] TActual>(TActual actual, IResolveConstraint expression, Func<string> getExceptionMessage, [CallerArgumentExpression("actual")] string actualExpression = "", [CallerArgumentExpression("expression")] string constraintExpression = "") { NotConstraint notConstraint = new NotConstraint(expression.Resolve()); IncrementAssertCount(); ConstraintResult constraintResult = notConstraint.ApplyTo(actual); if (!constraintResult.IsSuccess) IssueWarning(constraintResult, "If", getExceptionMessage(), actualExpression, constraintExpression); } private static void IncrementAssertCount() { TestExecutionContext.CurrentContext.IncrementAssertCount(); } private static void IssueWarning(ConstraintResult result, string method, string message, string actualExpression, string constraintExpression) { MessageWriter messageWriter = new TextMessageWriter(Assert.ExtendedMessage("Warn." + method, message, actualExpression, constraintExpression), Array.Empty<object>()); result.WriteMessageTo(messageWriter); Assert.Warn(messageWriter.ToString()); } } }