コード例 #1
0
        public static void Main()
        {
            Task waiter = null;

            try
            {
                Console.WriteLine("Write list of test separating them by spaces");
                var testFiles = Console.ReadLine().Split(' ').ToList();
                Console.WriteLine("Write max amount of streams for reading");
                var maxInputStreams = int.Parse(Console.ReadLine());
                Console.WriteLine("Write max amount of streams for writing");
                var maxOutStreams = int.Parse(Console.ReadLine());
                Console.WriteLine("Write max amount of streams for generating tests");
                var maxMainStreams = int.Parse(Console.ReadLine());
                waiter = new NUnitTestsGenerator().GenerateTests(testFiles, PathToSave, maxInputStreams, maxOutStreams,
                                                                 maxMainStreams);
            }
            catch (Exception e)
            {
                Console.WriteLine("Error: " + e.Message);
            }

            waiter?.Wait();
            Console.WriteLine("Finished, check tests in [{0}] folder", Path.GetFullPath(PathToSave));
            Console.ReadLine();
        }
コード例 #2
0
        public void SyntaxErrorTest()
        {
            ClearFolder(_folderForTests);
            var testsGenerator = new NUnitTestsGenerator();
            var waiter         = testsGenerator.GenerateTests(new[] { _fileForTest }, _folderForTests, 8, 8, 8);

            waiter.Wait();
            var testFile    = Directory.GetFiles(_folderForTests).First(file => Path.GetFileName(file) == "BarClassTests.cs");
            var text        = GetText(testFile);
            var tree        = CSharpSyntaxTree.ParseText(text);
            var diagnostics = tree.GetDiagnostics().FirstOrDefault(n => n.Severity == DiagnosticSeverity.Error);

            Assert.IsNull(diagnostics);
        }
コード例 #3
0
        public void MethodNameTest()
        {
            var testsGenerator = new NUnitTestsGenerator();
            var waiter         = testsGenerator.GenerateTests(new [] { _fileForTest }, _folderForTests, 8, 8, 8);

            waiter.Wait();
            var testFile = Directory.GetFiles(_folderForTests).First(file => Path.GetFileName(file) == "BarClassTests.cs");
            var text     = GetText(testFile);
            var tree     = CSharpSyntaxTree.ParseText(text);
            var root     = tree.GetRoot();
            var method   = root.DescendantNodes().OfType <MethodDeclarationSyntax>().First();

            Assert.AreEqual("MyPublicMethodTest", method.Identifier.ValueText);
        }
コード例 #4
0
        public async Task TestsInitialize()
        {
            // get all test classes
            string testClassesFolder = System.IO.Path.Combine(Directory.GetCurrentDirectory(), "..\\..\\TestClasses");
            var    allTestClasses    = new List <string>();

            foreach (string path in Directory.GetFiles(testClassesFolder, "*.cs"))
            {
                allTestClasses.Add(path);
            }

            // create folder for generated classes
            generatedClassesFolder = System.IO.Path.Combine(testClassesFolder, "NUnitGeneretadClasses");
            Directory.CreateDirectory(generatedClassesFolder);

            // generate classes
            NUnitTestsGenerator generator = new NUnitTestsGenerator(allTestClasses, generatedClassesFolder, 3, 3, 3);
            await generator.Generate();
        }
コード例 #5
0
        public void FileNameTest()
        {
            var testsGenerator = new NUnitTestsGenerator();
            var waiter         = testsGenerator.GenerateTests(new [] { _fileForTest }, _folderForTests, 8, 8, 8);

            waiter.Wait();
            var testFiles  = Directory.GetFiles(_folderForTests).Select(Path.GetFileName);
            var contains   = false;
            var cs         = "BarClassTests.cs";
            var enumerable = testFiles as string[] ?? testFiles.ToArray();

            foreach (var file in enumerable)
            {
                if (Equals(file, cs))
                {
                    contains = true;
                    break;
                }
            }

            Assert.IsTrue(contains);
            Assert.IsTrue(enumerable.Contains("FooClassTests.cs"));
            Assert.AreEqual(2, enumerable.ToArray().Length);
        }