<PackageReference Include="NUnit" Version="3.0.0-alpha" />

Assume

public class Assume
Provides static methods to express the assumptions that must be met for a test to give a meaningful result. If an assumption is not met, the test should produce an inconclusive result.
using NUnit.Framework.Constraints; using NUnit.Framework.Internal; using System; using System.ComponentModel; namespace NUnit.Framework { public class Assume { [EditorBrowsable(EditorBrowsableState.Never)] public new static bool Equals(object a, object b) { throw new AssertionException("Assert.Equals should not be used for Assertions"); } public new static void ReferenceEquals(object a, object b) { throw new AssertionException("Assert.ReferenceEquals should not be used for Assertions"); } public static void That<TActual>(ActualValueDelegate<TActual> del, IResolveConstraint expr) { That(del, expr.Resolve(), null, null); } public static void That<TActual>(ActualValueDelegate<TActual> del, IResolveConstraint expr, string message) { That(del, expr.Resolve(), message, null); } public static void That<TActual>(ActualValueDelegate<TActual> del, IResolveConstraint expr, string message, params object[] args) { IConstraint constraint = expr.Resolve(); ConstraintResult constraintResult = constraint.ApplyTo(del); if (!constraintResult.IsSuccess) { MessageWriter messageWriter = new TextMessageWriter(message, args); constraintResult.WriteMessageTo(messageWriter); throw new InconclusiveException(messageWriter.ToString()); } } public static void That(bool condition, string message, params object[] args) { That(condition, Is.True, message, args); } public static void That(bool condition, string message) { That(condition, Is.True, message, null); } public static void That(bool condition) { That(condition, Is.True, null, null); } public static void That(Func<bool> condition, string message, params object[] args) { That(condition(), Is.True, message, args); } public static void That(Func<bool> condition, string message) { That(condition(), Is.True, message, null); } public static void That(Func<bool> condition) { That(condition(), Is.True, null, null); } public static void That(TestDelegate code, IResolveConstraint constraint) { That((object)code, constraint); } public static void That<TActual>(TActual actual, IResolveConstraint expression) { That(actual, expression, null, null); } public static void That<TActual>(TActual actual, IResolveConstraint expression, string message) { That(actual, expression, message, null); } public static void That<TActual>(TActual actual, IResolveConstraint expression, string message, params object[] args) { IConstraint constraint = expression.Resolve(); ConstraintResult constraintResult = constraint.ApplyTo(actual); if (!constraintResult.IsSuccess) { MessageWriter messageWriter = new TextMessageWriter(message, args); constraintResult.WriteMessageTo(messageWriter); throw new InconclusiveException(messageWriter.ToString()); } } public static void That<TActual>(ref TActual actual, IResolveConstraint expression) { That(ref actual, expression, null, null); } public static void That<TActual>(ref TActual actual, IResolveConstraint expression, string message) { That(ref actual, expression, message, null); } public static void That<TActual>(ref TActual actual, IResolveConstraint expression, string message, params object[] args) { IConstraint constraint = expression.Resolve(); ConstraintResult constraintResult = constraint.ApplyTo(ref actual); if (!constraintResult.IsSuccess) { MessageWriter messageWriter = new TextMessageWriter(message, args); constraintResult.WriteMessageTo(messageWriter); throw new InconclusiveException(messageWriter.ToString()); } } } }