using JD.Kernel.StaticHelpers;
namespace JD.TeaBoxAddinSystem.Addins.Description.Conditions
{
///
/// A condition that implements the NOT operator.
///
internal class NotCondition : CompositeCondition
{
#region Constructor
///
/// Constructor.
///
///
public NotCondition(Condition innerCondition)
: base(innerCondition)
{
Throw.IfNull(innerCondition, "innerCondition");
}
#endregion
#region Methods
///
/// Overriden.
///
///
public override bool Evaluate()
{
System.Diagnostics.Debug.Assert(InnerConditions.Length == 1);
return !InnerConditions[0].Evaluate();
}
///
/// Overriden.
///
///
public override string ToString()
{
System.Diagnostics.Debug.Assert(InnerConditions.Length == 1);
return $"!{InnerConditions[0]}";
}
#endregion
}
}