/// <summary> /// Removes the expression objects from parameters, equivalence classes, and expected results. /// </summary> private bool ClearExpressions() { bool compositeResult = true; if ((InputParameters != null) && InputParameters.Any()) { foreach (InputParameter parameter in InputParameters.Values) { parameter.ConditionExpression = null; if ((parameter.EquivalenceClasses != null) && parameter.EquivalenceClasses.Any()) { foreach (EquivalenceClass equivalenceClass in parameter.EquivalenceClasses.Values) { equivalenceClass.ConditionExpression = null; } } } } if ((ExpectedResults != null) && ExpectedResults.Any()) { foreach (ExpectedResult result in ExpectedResults.Values) { result.ConditionExpression = null; } } return(compositeResult); }
/// <summary> /// Returns a list of the consumers enumerated in this object. /// </summary> /// <returns></returns> public string ListOfConsumers() { IList <string> consumerLists = new List <string>(); if (InputParameters.Any()) { consumerLists.Add($"input parameters = {string.Join(",", InputParameters)}"); } if (EquivalenceClasses.Any()) { consumerLists.Add($"equivalence classes = {string.Join(",", EquivalenceClasses)}"); } if (ExpectedResults.Any()) { consumerLists.Add($"expected results = {string.Join(",", ExpectedResults)}"); } if (CoverageGroups.Any()) { consumerLists.Add($"coverage groups = {string.Join(",", CoverageGroups)}"); } if (!consumerLists.Any()) { return(null); } return(string.Join(";", consumerLists)); }
public override string ToString() { return(string.Join(Environment.NewLine, $"{{", $"Update Time: {UpdatedTime}", $"Expected Results:", (ExpectedResults.Any() ? $"{string.Join(Environment.NewLine, ExpectedResults.Select(row => $"{{{string.Join(", ", row)}}}"))}" : "{}") + $"}}")); }
/// <summary> /// Validates the test specification and returns true if successful; otherwise false /// and returns an informative error message. /// </summary> public bool Validate(IList <string> errors) { bool validated = true; if ((InputParameters == null) || !InputParameters.Any()) { errors.Add($"specification {Name} has no input parameters"); validated = false; } else { foreach (InputParameter parameter in InputParameters.Values) { validated = parameter.Validate(errors) && validated; } } if ((ExpectedResults == null) || !ExpectedResults.Any()) { errors.Add($"specification {Name} has no expected results"); validated = false; } else { foreach (ExpectedResult expectedResult in ExpectedResults.Values) { validated = expectedResult.Validate(errors) && validated; } } if ((CoverageGroups == null) || !CoverageGroups.Any()) { errors.Add($"specification {Name} has no coverage groups"); validated = false; } else { foreach (CoverageGroup coverageGroup in CoverageGroups) { validated = coverageGroup.Validate(errors) && validated; } } return(validated && (errors.Count == 0)); }
/// <summary> /// Parses strings containing expressions into recursive expression objects; returns true if successful. /// </summary> private bool NormalizeExpressions() { bool compositeResult = true; if ((InputParameters != null) && InputParameters.Any()) { foreach (InputParameter parameter in InputParameters.Values) { if (!parameter.ParseConditions()) { compositeResult = false; } if ((parameter.EquivalenceClasses != null) && parameter.EquivalenceClasses.Any()) { foreach (EquivalenceClass equivalenceClass in parameter.EquivalenceClasses.Values) { if (!equivalenceClass.ParseConditions()) { compositeResult = false; } } } } } if ((ExpectedResults != null) && ExpectedResults.Any()) { foreach (ExpectedResult result in ExpectedResults.Values) { if (!result.ParseConditions()) { compositeResult = false; } } } return(compositeResult); }