public ConditionAtTimeQuery(QuestionType questionType, string condition, int time = -1) : base(QueryType.SatisfyConditionAtTime, questionType) { _condition = condition; _time = time; _logicExp = new SimpleLogicExpression(_condition); _fluentNames = _logicExp.GetFluentNames(); _logger.Info("Creates:\n " + this); }
public void AddExpression_Simple_Test() { var firstExpression = new SimpleLogicExpression("a || b"); var secondExpression = new SimpleLogicExpression("a && c"); firstExpression.AddExpression(secondExpression); Assert.AreEqual("(a || b) && (a && c)", firstExpression.ToString()); Assert.AreEqual("a && c", secondExpression.ToString()); }
public void AddExpression_AllEmpty_Test() { var firstExpression = new SimpleLogicExpression(string.Empty); var secondExpression = new SimpleLogicExpression(string.Empty); firstExpression.AddExpression(secondExpression); Assert.AreEqual(string.Empty, firstExpression.ToString()); Assert.AreEqual(string.Empty, secondExpression.ToString()); }
public AccesibleConditionQuery(QuestionType questionType, string condition, ScenarioDescription scenario) : base(QueryType.AccesibleCondition, questionType) { _queryType = QueryType.AccesibleCondition; _condition = condition; var logicExp = new SimpleLogicExpression(this._condition); _fluentNames = logicExp.GetFluentNames(); _scenario = scenario; ExecQuery = new ExecutableScenarioQuery(QuestionType.Ever, _scenario); CondAtTimeQuery = new ConditionAtTimeQuery(QuestionType.Ever, _condition); _logger.Info("Creates:\n " + this); }
public void AddExpression_Complex_Test() { var firstExpression = new SimpleLogicExpression("(!a || b) && c"); var secondExpression = new SimpleLogicExpression("a && c || !(b && !a)"); var thirdExpression = new SimpleLogicExpression("!a && !b || (!a)"); secondExpression.AddExpression(thirdExpression); var expected = "(a && c || !(b && !a)) && (!a && !b || (!a))".Trim().Normalize(); var actual = secondExpression.ToString().Trim().Normalize(); Assert.AreEqual(expected, actual); firstExpression.AddExpression(secondExpression); var expected2 = "((!a || b) && c) && ((a && c || !(b && !a)) && (!a && !b || (!a)))".Trim().Normalize(); var actual2 = firstExpression.ToString().Trim().Normalize(); Assert.AreEqual(expected2, actual2); }
private void ButtonAddObservation_Click(object sender, RoutedEventArgs e) { if (String.IsNullOrEmpty(ObservationAdd.Expression)) { ObservationAdd.LabelValidation.Content = "It is necessary to fill expression."; } else { ILogicExpression expression = new SimpleLogicExpression(ObservationAdd.Expression); if (ValidationExpression(expression) && ActionList.AddObservation(ObservationAdd.Time, ObservationAdd.Expression)) { _scenarioDescription.observations.Add(new ScenarioObservationRecord(expression, ObservationAdd.Time)); ObservationAdd.CleanValues(); } else { ObservationAdd.LabelValidation.Content = "Expression is incorrect."; } } }