public Tuple <string, List <string> > ResolveTestAssemblyFileSpecs(string TestAssemblyFileSpecs) { var TestAssembliesList = ""; var TestAssembliesDirectories = new List <string>(); var TestAssembliesFileSpecsInParent = FindFileInParent(new List <string> { TestAssemblyFileSpecs }); if (!string.IsNullOrEmpty(TestAssembliesFileSpecsInParent)) { List <string> resolveCommaNotation = new List <string>(); if (TestAssembliesFileSpecsInParent.Contains(',')) { resolveCommaNotation = TestAssembliesFileSpecsInParent.Split(',').ToList(); } else { resolveCommaNotation.Add(TestAssembliesFileSpecsInParent); } List <string> resolveStarNotation = new List <string>(); foreach (var file in resolveCommaNotation) { if (TestAssembliesFileSpecsInParent.Contains('*')) { resolveStarNotation = Directory.GetFiles(Path.GetDirectoryName(TestAssembliesFileSpecsInParent), Path.GetFileName(TestAssembliesFileSpecsInParent), SearchOption.TopDirectoryOnly).ToList(); } else { resolveStarNotation.Add(TestAssembliesFileSpecsInParent); } } foreach (var file in resolveStarNotation) { var AssemblyNameToCheck = Path.GetFileNameWithoutExtension(file); if (!TestAssembliesFileSpecsInParent.Contains("*") || (AssemblyIsNotAlreadyDefinedWithoutWildcards(AssemblyNameToCheck))) { TestAssembliesList = TestRunner.AppendTestAssembly(TestAssembliesList, file); if (!TestAssembliesDirectories.Contains(Path.GetDirectoryName(file))) { TestAssembliesDirectories.Add(Path.GetDirectoryName(file)); } } } return(new Tuple <string, List <string> >(TestAssembliesList, TestAssembliesDirectories)); } throw new Exception($"Cannot find test assemblies at {TestAssemblyFileSpecs}. Make sure your test assemblies are compiled and try again."); }