Skip to content

Commit 8236dba

Browse files
committed
TestCompileAndRun_NullablePropertyWithValue
TestCompileAndRun_NullablePropertyWithoutValue
1 parent ac1832b commit 8236dba

File tree

3 files changed

+42
-7
lines changed

3 files changed

+42
-7
lines changed

RazorEngineCore.Tests/Models/TestModel.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ public class TestModel
1010
public string C { get; set; }
1111
public DateTime D { get; set; }
1212
public IList<int> Numbers { get; set; }
13+
public DateTime? DateTime { get; set; }
1314

1415
public string Decorator(string text)
1516
{
Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
namespace RazorEngineCore.Tests.Models
22
{
3-
public class TestTemplate2 : RazorEngineTemplateBase<TestModel>
3+
public class TestTemplate2 : RazorEngineTemplateBase<TestModel>
4+
{
5+
public void Initialize(TestModel model)
46
{
5-
public void Initialize(TestModel model)
6-
{
7-
this.Model = model;
8-
}
7+
this.Model = model;
98
}
9+
}
1010
}

RazorEngineCore.Tests/TestCompileAndRun.cs

Lines changed: 36 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -197,6 +197,40 @@ public void TestCompileAndRun_NullModel()
197197
Assert.AreEqual("Name: ", actual);
198198
}
199199

200+
[TestMethod]
201+
public void TestCompileAndRun_NullablePropertyWithValue()
202+
{
203+
RazorEngine razorEngine = new RazorEngine();
204+
205+
DateTime? dateTime = DateTime.Now;
206+
207+
IRazorEngineCompiledTemplate<TestTemplate2> template = razorEngine.Compile<TestTemplate2>("DateTime: @Model.DateTime.Value.ToString()");
208+
209+
string actual = template.Run(instance => instance.Model = new TestModel()
210+
{
211+
DateTime = dateTime
212+
});
213+
214+
Assert.AreEqual("DateTime: " + dateTime, actual);
215+
}
216+
217+
[TestMethod]
218+
public void TestCompileAndRun_NullablePropertyWithoutValue()
219+
{
220+
RazorEngine razorEngine = new RazorEngine();
221+
222+
DateTime? dateTime = null;
223+
224+
IRazorEngineCompiledTemplate<TestTemplate2> template = razorEngine.Compile<TestTemplate2>("DateTime: @Model.DateTime");
225+
226+
string actual = template.Run(instance => instance.Model = new TestModel()
227+
{
228+
DateTime = dateTime
229+
});
230+
231+
Assert.AreEqual("DateTime: " + dateTime, actual);
232+
}
233+
200234
[TestMethod]
201235
public async Task TestCompileAndRun_NullModelAsync()
202236
{
@@ -431,7 +465,7 @@ public void TestCompileAndRun_Linq()
431465
{
432466
instance.Initialize(new TestModel
433467
{
434-
Numbers = new[] {2, 1, 3}
468+
Numbers = new[] { 2, 1, 3 }
435469
});
436470
});
437471

@@ -458,7 +492,7 @@ public async Task TestCompileAndRun_LinqAsync()
458492
{
459493
instance.Initialize(new TestModel
460494
{
461-
Numbers = new[] {2, 1, 3}
495+
Numbers = new[] { 2, 1, 3 }
462496
});
463497
});
464498

0 commit comments

Comments
 (0)