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);
            }
        }
Пример #3
0
 public SpecStringTestCase(string template, SpecTestSet testSet, string result)
     : base(template, testSet)
 {
     this.Result = result;
 }
 public SpecFailTestCase(string template, SpecTestSet testSet)
     : base(template, testSet)
 {
 }