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); }
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(); }
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"); } }