public void Render_FullName10000Times_InUnderHalfSecond() { int occurances = 10000; string templateText = "{{FullName}}"; var template = BuildTemplate(occurances, templateText); var message = new WelcomeMessage() { FullName = "Devon" }; var content = new TemplateRenderer<WelcomeMessage>(template); var before = DateTime.Now.Ticks; var text = content.Render(message); var after = DateTime.Now.Ticks; var elapsedSpan = new TimeSpan(after - before); Assert.True(elapsedSpan.TotalSeconds < 0.5); }
public void Render_FourMergeOptions2500Times_InUnderHalfSecond() { int occurances = 2500; string templateText = "Hello {{FullName}} from {{Address.StreetNumber}} {{Address.StreetName}}! on {{JoinDate}}"; var template = BuildTemplate(occurances, templateText); DateTime date = DateTime.Parse("2014-08-30"); var message = new WelcomeMessage(){ FullName = "Devon", JoinDate = date, Address = new Address{ StreetNumber = 5, StreetName = "Main"} }; var content = new TemplateRenderer<WelcomeMessage>(template); var before = DateTime.Now.Ticks; var text = content.Render(message); var after = DateTime.Now.Ticks; var elapsedSpan = new TimeSpan(after - before); Assert.True(elapsedSpan.TotalSeconds < 0.5); }
public void Render_TemplateWithDate_TransformsNestedProperties() { string myFormat = "yyyy-MM-dd"; DateTime date = DateTime.Parse("2014-08-30"); var message = new WelcomeMessage(){ FullName = "Devon", JoinDate = date, Address = new Address{ StreetNumber = 5, StreetName = "Main"} }; var template = new Template<WelcomeMessage>("Hello {{FullName}} from {{Address.StreetNumber}} {{Address.StreetName}}! on {{JoinDate}}"); var content = new TemplateRenderer<WelcomeMessage>(template) { RenderSettings = new RenderSettings { DateTimeFormat = myFormat } }; var text = content.Render(message); Assert.Contains("Hello Devon from 5 Main! on ", text); Assert.Contains("on 2014-08-30", text); }
public void Render_WithX_ReturnsString() { var message = new WelcomeMessage(){ FullName = "Devon" }; var template = new Template<WelcomeMessage>("Hello {{FullName}}!"); var content = new TemplateRenderer<WelcomeMessage>(template); var text = content.Render(message); Assert.False(string.IsNullOrEmpty(text)); }
public void Render_WithNullProperty_ReturnsEmptyString() { var message = new WelcomeMessage(){ FullName = null }; var template = new Template<WelcomeMessage>("Hello {{FullName}}!"); var content = new TemplateRenderer<WelcomeMessage>(template); var text = content.Render(message); Assert.Contains("Hello !", text); }
public void Render_WithHelloWorldTemplate_ReturnsHelloDevon() { var message = new WelcomeMessage(){ FullName = "Devon" }; var template = new Template<WelcomeMessage>("Hello {{FullName}}!"); var content = new TemplateRenderer<WelcomeMessage>(template); var text = content.Render(message); Assert.Equal("Hello Devon!", text); }
public void Render_UsingNonGeneric_ReplacesValues() { string templateText = "Hello {{FullName}} from {{Address.StreetNumber}} {{Address.StreetName}}! on {{JoinDate}}"; ITemplate template = BuildTemplate(1, templateText); var templateContent = new TemplateContent(template); var message = new WelcomeMessage(){ FullName = "Devon", Address = new Address{ StreetName = "Main"} }; var text = templateContent.Render(message); Assert.Contains("Devon", text); }
public void Render_TemplateWithNavigationalProperties_TransformsNestedProperties() { var message = new WelcomeMessage(){ FullName = "Devon", Address = new Address{ StreetName = "Main"} }; var template = new Template<WelcomeMessage>("Hello {{FullName}} from {{Address.StreetName}}!"); var content = new TemplateRenderer<WelcomeMessage>(template); var text = content.Render(message); Assert.Contains("Main", text); }