// // IConditionalStatement.cs - interface defining the minimum functionality required to implement a conditional statement // // Author: // Michael Becker // // Copyright (c) 2020 Mike Becker's Software // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program. If not, see . namespace MBS.Framework.Logic.Conditional { /// /// Interface defining the minimum functionality required to implement a conditional statement (either a itself or a /// of multiple s. /// public interface IConditionalStatement { /// /// Evaluates the conditional statement based on the given criteria. /// /// The set of values against which to evaluate the conditional statement. /// True if the conditions are satisfied; false otherwise. bool Test(params System.Collections.Generic.KeyValuePair[] propertyValues); /// /// Evaluates the conditional statement based on the given criteria. /// /// The set of values against which to evaluate the conditional statement. /// True if the conditions are satisfied; false otherwise. bool Test(System.Collections.Generic.Dictionary propertyValues); /// /// Evaluates the conditional statement based on the given criterion. /// /// The value against which to evaluate the conditional statement. /// True if the conditions are satisfied; false otherwise. bool Test(object value); } }