예제 #1
0
        public void TestLazyHashWithAccessingAllProperties()
        {
            var      lazyObject = new TestLazyObject();
            Template template   = Template.Parse("{{LazyProperty1}}-{{LazyProperty2}}-{{StaticProperty}}");
            var      output     = template.Render(new LazyHash(lazyObject));

            Assert.Equal($"LAZY_PROPERTY_1-LAZY_PROPERTY_2-STATIC_PROPERTY", output);
        }
예제 #2
0
        public void TestLazyHashProperty1WithoutAccessingProperty2()
        {
            var      lazyObject = new TestLazyObject();
            Template template   = Template.Parse("{{LazyProperty1}}");
            var      output     = template.Render(new LazyHash(lazyObject));

            Assert.Equal("LAZY_PROPERTY_1", output);
            Assert.False(lazyObject._lazyProperty2.IsValueCreated, "LazyObject LAZY_PROPERTY_2 has been created");
        }
예제 #3
0
        public async Task TestLazyHashProperty2WithoutAccessingProperty1()
        {
            var      lazyObject = new TestLazyObject();
            Template template   = Template.Parse("{{LazyProperty2}}");
            var      output     = await template.RenderAsync(new LazyHash(lazyObject));

            Assert.AreEqual("LAZY_PROPERTY_2", output);
            Assert.IsFalse(lazyObject._lazyProperty1.IsValueCreated, "LazyObject LAZY_PROPERTY_1 has been created");
        }
예제 #4
0
        public void TestLazyHashWithoutAccessingAny()
        {
            var      lazyObject = new TestLazyObject();
            Template template   = Template.Parse("{{StaticProperty}}");
            var      output     = template.Render(new LazyHash(lazyObject));

            Assert.AreEqual("STATIC_PROPERTY", output);
            Assert.IsFalse(lazyObject._lazyProperty1.IsValueCreated, "LazyObject LAZY_PROPERTY_1 has been created");
            Assert.IsFalse(lazyObject._lazyProperty2.IsValueCreated, "LazyObject LAZY_PROPERTY_2 has been created");
        }