/// <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); }