Exemple #1
0
        public void DoesNotOverwriteNewerTargetIfRequired()
        {
            FileInfo configFile = new FileInfo(Path.GetTempFileName());

            // the mapping file needs to be written to the same
            // directory as the config file for this test
            string   hbm         = "product.hbm.xml";
            FileInfo mappingFile = new FileInfo(Path.Combine(configFile.DirectoryName, hbm));

            if (mappingFile.Exists)
            {
                mappingFile.Delete();
            }
            ResourceHelper.WriteToFileFromResource(mappingFile, hbm);

            TestHelper.CreateConfigFile(configFile, TestHelper.T4DefaultTemplate, TestHelper.T4Renderer, "unused", "clazz.GeneratedName+\".generated.cs\"");

            // ensure that test is setup correctly
            Assert.IsTrue(configFile.Exists && configFile.Length != 0);
            Assert.IsTrue(mappingFile.Exists && mappingFile.Length != 0);
            Assert.AreEqual(mappingFile.DirectoryName, configFile.DirectoryName);

            string[] args = new string[] { "--config=" + configFile.FullName, mappingFile.FullName };
            CodeGenerator.Generate(args, this);

            FileInfo gen  = new FileInfo(generatedFiles[0]);
            DateTime prev = gen.LastWriteTimeUtc;

            generatedFiles.Clear();
            args = new string[] { "-ct", "--config=" + configFile.FullName, mappingFile.FullName };
            CodeGenerator.Generate(args, this);
            Assert.AreEqual(0, generatedFiles.Count);

            generatedFiles.Clear();
            args = new string[] { "--config=" + configFile.FullName, mappingFile.FullName };
            CodeGenerator.Generate(args, this);
            gen = new FileInfo(generatedFiles[0]);
            Assert.AreNotEqual(prev, gen.LastWriteTimeUtc);
        }
Exemple #2
0
        public void TemplateFileAbsolutePath()
        {
            configFile = new FileInfo(Path.GetTempFileName());

            templateFile = new FileInfo(Path.GetTempFileName());
            ResourceHelper.WriteToFileFromResource(templateFile, TemplateFileResourceName);

            mappingFile = new FileInfo(Path.Combine(configFile.DirectoryName, MappingFileResourceName));
            ResourceHelper.WriteToFileFromResource(mappingFile, MappingFileResourceName);

            TestHelper.CreateConfigFile(configFile, templateFile.FullName, VelocityRenderer, "");

            // ensure that test is setup correctly
            Assert.IsTrue(configFile.Exists && configFile.Length != 0);
            Assert.IsTrue(templateFile.Exists && templateFile.Length != 0);
            Assert.IsTrue(mappingFile.Exists && mappingFile.Length != 0);
            Assert.AreEqual(mappingFile.DirectoryName, configFile.DirectoryName);

            string[] args = new string[] { "--config=" + configFile.FullName, mappingFile.FullName };
            CodeGenerator.Generate(args);
            AssertFile();
        }
Exemple #3
0
        public void KeyManyToOne()
        {
            FileInfo configFile = new FileInfo(Path.GetTempFileName());

            // the mapping file needs to be written to the same
            // directory as the config file for this test
            string   hbm         = "keymanytoone.hbm.xml";
            FileInfo mappingFile = new FileInfo(Path.Combine(configFile.DirectoryName, hbm));

            if (mappingFile.Exists)
            {
                mappingFile.Delete();
            }
            ResourceHelper.WriteToFileFromResource(mappingFile, hbm);

            TestHelper.CreateConfigFile(configFile, TestHelper.T4DefaultTemplate, TestHelper.T4Renderer, "unused", "clazz.GeneratedName+\".generated.cs\"");

            // ensure that test is setup correctly
            Assert.IsTrue(configFile.Exists && configFile.Length != 0);
            Assert.IsTrue(mappingFile.Exists && mappingFile.Length != 0);
            Assert.AreEqual(mappingFile.DirectoryName, configFile.DirectoryName);

            string[] args = new string[] { "--config=" + configFile.FullName, mappingFile.FullName };
            CodeGenerator.Generate(args, this);


            Assembly asm = AssertedCompileGeneratedFiles("KMTONE");

            try
            {
                CheckMappingAgainstCode(asm, mappingFile.FullName);
            }
            catch (Exception e)
            {
                Assert.AreEqual(e.InnerException.Message, "composite-id class must override Equals(): Eg.Cat");
            }
        }