public AssemblyData ReadAssembly(string assemblyPath, GroupingType groupType, string workingDirectory) { var assembly = Assembly.ReflectionOnlyLoadFrom(assemblyPath); var data = new AssemblyData(assemblyPath, assembly.GetName().Name, groupType); try { foreach (var fixtureType in assembly.GetTypes()) { if (!ReadFixture(fixtureType, data, workingDirectory)) { //Console.WriteLine(string.Format("Journals could not be created for {0}", fixtureType.Name)); } } data.Fixtures = data.Fixtures.Sorted(x => x.Name); return(data); } catch (ReflectionTypeLoadException ex) { Console.WriteLine(ex.Message); Console.WriteLine(ex.LoaderExceptions); throw new Exception("A referenced type could not be loaded."); } return(null); }
public AssemblyData ReadAssembly(string assemblyPath, GroupingType groupType, string workingDirectory) { var assembly = Assembly.ReflectionOnlyLoadFrom(assemblyPath); var data = new AssemblyData(assemblyPath, assembly.GetName().Name, groupType); foreach (var fixtureType in assembly.GetTypes()) { if (!ReadFixture(fixtureType, data, workingDirectory)) { //Console.WriteLine(string.Format("Journals could not be created for {0}", fixtureType.Name)); } } data.Fixtures = data.Fixtures.Sorted(x => x.Name); return(data); }
public AssemblyData ReadAssembly(string assemblyPath, GroupingType groupType, string workingDirectory) { // NOTE: We use reflection only load here so that we don't have to resolve all binaries // This is an assumption by Dynamo tests which reference assemblies that can be resolved // at runtime inside Revit. var assembly = Assembly.ReflectionOnlyLoadFrom(assemblyPath); var data = new AssemblyData(assemblyPath, assembly.GetName().Name, groupType); try { var revitReference = assembly.GetReferencedAssemblies().FirstOrDefault(x => x.Name.Contains("RevitAPI")); if (revitReference != null) { data.ReferencedRevitVersion = $"{(revitReference.Version.Major + 2000)}"; } foreach (var fixtureType in assembly.GetTypes()) { if (!ReadFixture(fixtureType, data, workingDirectory)) { //Console.WriteLine(string.Format("Journals could not be created for {0}", fixtureType.Name)); } } data.Fixtures = data.Fixtures.Sorted(x => x.Name); return(data); } catch (ReflectionTypeLoadException ex) { Console.WriteLine($"ERROR: Failed to resolve assembly:"); Console.WriteLine($"ERROR: {ex.Message}"); Console.WriteLine($"ERROR: {ex.LoaderExceptions}"); throw new Exception("A referenced type could not be loaded."); } }
public override IList<IAssemblyData> ReadAssembly(string assemblyPath, string workingDirectory, GroupingType groupType, bool isTesting) { var dummyTestPath = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "RunnerTests.dll"); var assData = new AssemblyData(dummyTestPath, "RunnerTests", groupType); var cat1 = new CategoryData(assData, "Smoke"); var cat2 = new CategoryData(assData, "Integration"); var cat3 = new CategoryData(assData, "Failure"); assData.Categories = new ObservableCollection<ITestGroup>() { cat1, cat2, cat3 }; var fix1 = new FixtureData(assData, "FixtureA"); var fix2 = new FixtureData(assData, "FixtureB"); assData.Fixtures = new ObservableCollection<ITestGroup>() { fix1, fix2 }; var testModelPath = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "empty.rfa"); var test1 = new TestData(fix1, "TestA", testModelPath, false); var test2 = new TestData(fix1, "TestB", testModelPath, false); var test3 = new TestData(fix1, "TestC", testModelPath, false); var test4 = new TestData(fix2, "TestD", testModelPath, false); var test5 = new TestData(fix2, "TestE", @"C:\foo.rfa", false); cat1.Tests = new ObservableCollection<ITestData>() { test1, test2 }; cat2.Tests = new ObservableCollection<ITestData>() { test3 }; cat3.Tests = new ObservableCollection<ITestData>() { test4, test5 }; fix1.Tests = new ObservableCollection<ITestData>() { test1, test2, test3 }; fix2.Tests = new ObservableCollection<ITestData>() { test4, test5 }; fix1.Assembly = assData; fix2.Assembly = assData; cat1.Assembly = assData; cat2.Assembly = assData; cat3.Assembly = assData; return new List<IAssemblyData>{assData}; }
public AssemblyData ReadAssembly(string assemblyPath, GroupingType groupType, string workingDirectory) { var assembly = Assembly.ReflectionOnlyLoadFrom(assemblyPath); var data = new AssemblyData(assemblyPath, assembly.GetName().Name, groupType); foreach (var fixtureType in assembly.GetTypes()) { if (!ReadFixture(fixtureType, data, workingDirectory)) { //Console.WriteLine(string.Format("Journals could not be created for {0}", fixtureType.Name)); } } data.Fixtures = data.Fixtures.Sorted(x => x.Name); return data; }