public override void SetupCore() { var config = RevitTestConfiguration.LoadConfiguration(); //get the test path workingDirectory = config.WorkingDirectory; //get the samples path samplesPath = config.SamplesPath; //set the custom node loader search path defsPath = config.DefinitionsPath; emptyModelPath = Path.Combine(workingDirectory, "empty.rfa"); if (DocumentManager.Instance.CurrentUIApplication.Application.VersionNumber.Contains("2014") && DocumentManager.Instance.CurrentUIApplication.Application.VersionName.Contains("Vasari")) { emptyModelPath = Path.Combine(workingDirectory, "emptyV.rfa"); emptyModelPath1 = Path.Combine(workingDirectory, "emptyV1.rfa"); } else { emptyModelPath = Path.Combine(workingDirectory, "empty.rfa"); emptyModelPath1 = Path.Combine(workingDirectory, "empty1.rfa"); } }
/// <summary> /// Loads configuration /// </summary> /// <returns></returns> public static RevitTestConfiguration LoadConfiguration() { var fi = new FileInfo(Assembly.GetExecutingAssembly().Location); string assDir = fi.DirectoryName; var config = new RevitTestConfiguration(); try { var configPath = Path.Combine(assDir, TEST_CONFIGURATION_FILE_S); if (File.Exists(configPath)) { var serializer = new XmlSerializer(typeof(RevitTestConfiguration)); using (var fs = new FileStream(configPath, FileMode.Open, FileAccess.Read)) { config = serializer.Deserialize(fs) as RevitTestConfiguration; } } #if DEBUG else { config.SetDefaultValuesToUninitializedProperties(); config.Save(configPath); } #endif } catch (Exception ex) { Debug.Print(ex.Message); } config.SetDefaultValuesToUninitializedProperties(); return(config); }
/// <summary> /// Method referenced by the automated regression testing setup method. /// Populates the test cases based on file pairings in the regression tests folder. /// </summary> /// <returns></returns> private static List <RegressionTestData> SetupRevitRegressionTests() { var testParameters = new List <RegressionTestData>(); var config = RevitTestConfiguration.LoadConfiguration(); string testsLoc = Path.Combine(config.WorkingDirectory, "Regression"); var regTestPath = Path.GetFullPath(testsLoc); var di = new DirectoryInfo(regTestPath); foreach (var folder in di.GetDirectories()) { var dyns = folder.GetFiles("*.dyn"); foreach (var fileInfo in dyns) { var data = new object[2]; data[0] = fileInfo.FullName; //find the corresponding rfa or rvt file var nameBase = fileInfo.FullName.Remove(fileInfo.FullName.Length - 4); var rvt = nameBase + ".rvt"; var rfa = nameBase + ".rfa"; //add test parameters for rvt, rfa, or both if (File.Exists(rvt)) { data[1] = rvt; } if (File.Exists(rfa)) { data[1] = rfa; } testParameters.Add(new RegressionTestData { Arguments = data, TestName = folder.Name }); } } return(testParameters); }