예제 #1
0
        public void AlwaysFunction()
        {
            using (TestHostContext hc = CreateTestContext())
            {
                // Arrange.
                var variableSets = new[]
                {
                    new { JobStatus = (TaskResult?)null, Expected = true },
                    new { JobStatus = (TaskResult?)TaskResult.Canceled, Expected = true },
                    new { JobStatus = (TaskResult?)TaskResult.Failed, Expected = true },
                    new { JobStatus = (TaskResult?)TaskResult.Succeeded, Expected = true },
                    new { JobStatus = (TaskResult?)TaskResult.SucceededWithIssues, Expected = true },
                };
                foreach (var variableSet in variableSets)
                {
                    InitializeExecutionContext(hc);
                    _ec.Object.Variables.Agent_JobStatus = variableSet.JobStatus;
                    IExpressionNode condition = _expressionManager.Parse(_ec.Object, "always()");

                    // Act.
                    bool actual = _expressionManager.Evaluate(_ec.Object, condition).Value;

                    // Assert.
                    Assert.Equal(variableSet.Expected, actual);
                }
            }
        }