Ejemplo n.º 1
0
        public static byte[] GenerateUnitTestCode(string fileNameSpace, string inputFileName,
                                                  string fileExtension = "CSharp", string testFramework = "MSTest")
        {
            var database      = GetDatabase(fileNameSpace, inputFileName);
            var factory       = new UnitTestCodeGeneratorFactory(database);
            var codeGenerator = factory.Create(testFramework);

            return(GetData(codeGenerator));
        }
Ejemplo n.º 2
0
        public void UnitTestCodeGeneratorFactoryStaticCreateNUnitTest()
        {
            var          defaultNamespace = typeof(CodeGenTest).Namespace;
            const string connectionString = "Data Source=Northwind.sdf";
            var          database         = SqlCeDatabaseFactory.Create(defaultNamespace, connectionString);
            var          codeGenerator    = UnitTestCodeGeneratorFactory.Create(database, "NUnit");

            Assert.IsNotNull(codeGenerator);
            Assert.IsInstanceOfType(codeGenerator, typeof(CodeGenerator));
            Assert.IsInstanceOfType(codeGenerator, typeof(CSharpCodeGenerator));
            Assert.IsInstanceOfType(codeGenerator, typeof(CSharpUnitTestCodeGenerator));
            Assert.IsInstanceOfType(codeGenerator, typeof(NUnitTestCodeGenerator));
        }
Ejemplo n.º 3
0
        public void UnitTestCodeGeneratorFactoryStaticCreateMSTestTest()
        {
            var defaultNamespace = typeof(CodeGenTest).Namespace;
            var connectionString = "Data Source=TestDatabase.sdf";
            var database         = new SqlCeDatabase(defaultNamespace, connectionString);
            var codeGenerator    = UnitTestCodeGeneratorFactory.Create(database, "MSTest");

            Assert.IsNotNull(codeGenerator);
            Assert.IsInstanceOfType(codeGenerator, typeof(CodeGenerator));
            Assert.IsInstanceOfType(codeGenerator, typeof(CSharpCodeGenerator));
            Assert.IsInstanceOfType(codeGenerator, typeof(CSharpUnitTestCodeGenerator));
            Assert.IsInstanceOfType(codeGenerator, typeof(MsTestUnitTestCodeGenerator));
        }
Ejemplo n.º 4
0
        public override void Generate(string wszInputFilePath,
                                      string bstrInputFileContents,
                                      string wszDefaultNamespace,
                                      out IntPtr rgbOutputFileContents,
                                      out int pcbOutput,
                                      IVsGeneratorProgress pGenerateProgress)
        {
            try
            {
                var database      = CodeGeneratorCustomTool.GetDatabase(wszDefaultNamespace, wszInputFilePath);
                var factory       = new UnitTestCodeGeneratorFactory(database);
                var codeGenerator = factory.Create("xUnit");
                codeGenerator.GenerateEntities();
                codeGenerator.GenerateDataAccessLayer();

                var header = new StringBuilder();
                codeGenerator.WriteHeaderInformation(header);

                var files = new Dictionary <string, StringBuilder>(codeGenerator.CodeFiles.Count);
                foreach (var codeFile in codeGenerator.CodeFiles)
                {
                    files.Add(codeFile.Key + GetDefaultExtension(), codeFile.Value);
                }

                AddOutputToProject(wszInputFilePath, files, header);

                base.Generate(wszInputFilePath,
                              bstrInputFileContents,
                              wszDefaultNamespace,
                              out rgbOutputFileContents,
                              out pcbOutput,
                              pGenerateProgress);
            }
            catch (Exception)
            {
                var codeGen = new SQLCEXUnitCodeGenerator();
                codeGen.Generate(wszInputFilePath, bstrInputFileContents, wszDefaultNamespace, out rgbOutputFileContents,
                                 out pcbOutput, pGenerateProgress);

                //var applicationException = new ApplicationException("Unable to generate code", e);
                //var messageBox = new ExceptionMessageBox(applicationException);
                //messageBox.Show(null);
                //throw;
            }
        }