Пример #1
0
        /// <summary>
        /// The actual method to get the test set/case/step data.
        /// </summary>
        /// <param name="testDataType"> 0 = testSetData, 1 = testCaseData, 2 = testStepData. </param>
        /// <param name="dataTypeName"> Name where to get the data from. </param>
        /// <param name="dataTypeLocation"> Arguments for the data. </param>
        /// <returns> The test data.</returns>
        private ITestData GetTestData(int testDataType, string dataTypeName, string dataTypeLocation)
        {
            ITestData testData = null;

            switch (testDataType)
            {
            case 0:
                testData = ReflectiveGetter.GetImplementationOfType <ITestSetData>(dataTypeLocation)
                           .Find(x => x.Name.ToLower().Equals(dataTypeName.ToLower()));
                break;

            case 1:
                testData = ReflectiveGetter.GetImplementationOfType <ITestCaseData>(dataTypeLocation)
                           .Find(x => x.Name.ToLower().Equals(dataTypeName.ToLower()));
                break;

            case 2:
                testData = ReflectiveGetter.GetImplementationOfType <ITestStepData>(dataTypeLocation)
                           .Find(x => x.Name.ToLower().Equals(dataTypeName.ToLower()));
                break;

            default:
                throw new Exception("Not a valid testDataType");
            }

            if (testData == null)
            {
                Console.WriteLine($"Sorry we do not currently support reading tests from: {dataTypeName}");
                throw new Exception($"Cannot Find test data type {dataTypeName}");
            }

            testData.SetUp();

            return(testData);
        }