public void Set_Delay_Should_Ok() { var fooVo = new FooVo(); fooVo.Id = "001"; fooVo.Name = "fooVo"; fooVo.Set("check1", () => { fooVo.Name += "+check1"; return("foo"); }); fooVo.Set("check2", () => { fooVo.Name += "+check2"; return("foo"); }); fooVo.AddPropertyFilter(ExpandoPropertyFilterFactory.CreateExcludeFilter("check1")); var jsonFilter = fooVo.GetJson(true); jsonFilter.Contains("+check1", StringComparison.OrdinalIgnoreCase).ShouldFalse(); jsonFilter.Contains("+check2", StringComparison.OrdinalIgnoreCase).ShouldTrue(); fooVo.Name.ShouldEqual("fooVo+check2"); }
public void Default_Should_Include_ALL() { var fooVo = new FooVo(); fooVo.Id = "001"; fooVo.Name = "fooVo"; fooVo.Set("check1", "check1Invoked"); fooVo.Set("check2", "check2Invoked"); var jsonFilter = fooVo.GetJson(true); jsonFilter.Contains("check1Invoked", StringComparison.OrdinalIgnoreCase).ShouldTrue(); jsonFilter.Contains("check2Invoked", StringComparison.OrdinalIgnoreCase).ShouldTrue(); }
public void ApplyProviders_NoProviders_Should_Ok() { var fooVo = new FooVo(); fooVo.Id = "001"; fooVo.Name = "fooVo"; var fooVoContext = ExpandoPropertyContext <FooVo> .Create(fooVo); AsyncHelper.RunSync(async() => { await fooVoContext.ApplyProviders(null); }); var jsonFilter = fooVo.GetJson(true); jsonFilter.Contains("provider1Invoked", StringComparison.OrdinalIgnoreCase).ShouldFalse(); jsonFilter.Contains("provider2Invoked", StringComparison.OrdinalIgnoreCase).ShouldFalse(); }
public void Set_Lazy_Should_Ok() { var fooVo = new FooVo(); fooVo.Id = "001"; fooVo.Name = "fooVo"; fooVo.Set("check1", new Lazy <string>(() => "check1Invoked")); fooVo.Set("check2", new Lazy <string>(() => "check2Invoked")); fooVo.AddPropertyFilter(ExpandoPropertyFilterFactory.CreateExcludeFilter("check1")); var jsonFilter = fooVo.GetJson(true); jsonFilter.Contains("check1Invoked", StringComparison.OrdinalIgnoreCase).ShouldFalse(); jsonFilter.Contains("check2Invoked", StringComparison.OrdinalIgnoreCase).ShouldTrue(); }
public void ApplyProviders_HasProviders_Should_Ok() { var fooVo = new FooVo(); fooVo.Id = "001"; fooVo.Name = "fooVo"; //fooVo.IncludeAll(); var fooVoContext = ExpandoPropertyContext <FooVo> .Create(fooVo); AsyncHelper.RunSync(async() => { await fooVoContext.ApplyProviders(new List <IExpandoPropertyProvider <FooVo> > { new MockProvider1(), new MockProvider2() }); }); var jsonFilter = fooVo.GetJson(true); jsonFilter.Contains("provider1Invoked", StringComparison.OrdinalIgnoreCase).ShouldTrue(); jsonFilter.Contains("provider2Invoked", StringComparison.OrdinalIgnoreCase).ShouldTrue(); }