public void ExpressionWithMultipleKnownEntities() { var entity1 = new Resource(); var entity2 = new Resource(); var expression = new WfExpression { ExpressionString = null }; expression.WfExpressionKnownEntities.Add(new NamedReference { Name = "1", ReferencedEntity = entity1 }); expression.WfExpressionKnownEntities.Add(new NamedReference { Name = "2", ReferencedEntity = entity2 }); expression.ArgumentToPopulate = new ResourceArgument().As <ActivityArgument>(); Workflow wf = new Workflow(); wf.ExpressionMap.Add(expression); var result = ExpressionHelper.EvaluateExpression(expression, TestRunState.CreateDummyState(wf)); Assert.That(result, Is.Not.Null); Assert.That(result, Is.AssignableTo(typeof(IEntity))); Assert.That(((IEntity)result).Id, Is.EqualTo(entity1.Id)); }
public void ExpressionWithNoKnownEntities() { var expression = new WfExpression { ExpressionString = null }; expression.ArgumentToPopulate = new ResourceArgument().As <ActivityArgument>(); Workflow wf = new Workflow(); wf.ExpressionMap.Add(expression); var result = ExpressionHelper.EvaluateExpression(expression, TestRunState.CreateDummyState(wf)); Assert.That(result, Is.Null); }
public void KnownAsInExpressionToList() { var entity1 = new Resource(); var expression = new WfExpression { ExpressionString = "E1" }; expression.WfExpressionKnownEntities.Add(new NamedReference { Name = "E1", ReferencedEntity = entity1 }); expression.ArgumentToPopulate = new ResourceListArgument().As <ActivityArgument>(); Workflow wf = new Workflow(); wf.ExpressionMap.Add(expression); var result = ExpressionHelper.EvaluateExpression(expression, TestRunState.CreateDummyState(wf)); Assert.That(result, Is.Not.Null); Assert.That(result, Is.AssignableTo(typeof(IEnumerable <IEntity>))); Assert.That(((IEnumerable <IEntity>)result).Count, Is.EqualTo(1)); }