private static SpecTestSet CreateTestSet(string name, JToken token) { int level = token["level"]?.Value <int?>() ?? 4; var testSet = new SpecTestSet(name, level); testSet.Variables = token["variables"].Cast <JProperty>() .ToDictionary(x => x.Name, x => ParseVariable(x)); testSet.TestCases = token["testcases"].Select(x => CreateTestCase(testSet, x)) .ToList(); return(testSet); }
private static SpecTestCase CreateTestCase(SpecTestSet testSet, JToken token) { var template = token[0].Value <string>(); var results = token[1]; switch (results.Type) { case JTokenType.Array: return(new SpecListTestCase(template, testSet, results.Select(x => x.Value <string>()).ToArray())); case JTokenType.String: return(new SpecStringTestCase(template, testSet, results.Value <string>())); case JTokenType.Boolean: return(new SpecFailTestCase(template, testSet)); default: return(null); } }
public SpecStringTestCase(string template, SpecTestSet testSet, string result) : base(template, testSet) { this.Result = result; }
public SpecFailTestCase(string template, SpecTestSet testSet) : base(template, testSet) { }