using MultiversalDiplomacy.Adjudicate;
using MultiversalDiplomacy.Adjudicate.Decision;
namespace MultiversalDiplomacyTests;
///
/// Multiversal Diplomacy assertion constraint extension provider. "NotX" constraints are provided
/// because properties can't be added to Is.Not via extension.
///
public class Is : NUnit.Framework.Is
{
///
/// Returns a constraint that checks for a positive order validation.
///
public static OrderValidationConstraint Valid
=> new(true, ValidationReason.Valid);
///
/// Returns a constraint that checks for a negative order validation.
///
public static OrderValidationConstraint Invalid(ValidationReason expected)
=> new(false, expected);
///
/// Returns a constraint that checks for a positive decision.
///
public static OrderBinaryAdjudicationConstraint Dislodged
=> new(true);
///
/// Returns a constraint that checks for a negative decision.
///
public static OrderBinaryAdjudicationConstraint NotDislodged
=> new(false);
///
/// Returns a constraint that checks for a positive decision.
///
public static OrderBinaryAdjudicationConstraint Victorious
=> new(true);
///
/// Returns a constraint that checks for a negative decision.
///
public static OrderBinaryAdjudicationConstraint Repelled
=> new(false);
///
/// Returns a constraint that checks for a positive decision.
///
public static OrderBinaryAdjudicationConstraint NotCut
=> new(true);
///
/// Returns a constraint that checks for a negative decision.
///
public static OrderBinaryAdjudicationConstraint Cut
=> new(false);
}