Beispiel #1
0
        private void ValidateTestClasses()
        {
            if (!string.IsNullOrWhiteSpace(TestClassParameter) &&
                !MultipleTestClasses.Any())
            {
                MultipleSourceClasses
                .ForEach(x => MultipleTestClasses.Add(TestClassParameter));
                return;
            }

            var isAllClassesFound = true;
            var testClasses       = new List <string>();

            foreach (var testClass in MultipleTestClasses)
            {
                var classes = new FileInfo(TestProjectParameter).GetProjectFiles();
                var file    = classes.FindKey(testClass);
                if (!string.IsNullOrWhiteSpace(file))
                {
                    var path = new FileInfo(classes[file]);
                    if (path.Exists)
                    {
                        testClasses.Add(path.FullName);
                    }
                    else
                    {
                        isAllClassesFound = false;
                        break;
                    }
                }
                else
                {
                    isAllClassesFound = false;
                    break;
                }
            }

            if (isAllClassesFound)
            {
                MultipleTestClasses.Clear();
                MultipleTestClasses.AddRange(testClasses);
                return;
            }

            throw new MuTestInputException(ErrorMessage, $"One or more Test class file(s) (.cs) are not exist. {CliOptions.MultipleTestClasses.ArgumentDescription}");
        }