public void AsExpandoModel_Should_Ok()
        {
            var fooEntity = new FooEntity();

            fooEntity.Id   = "entity id";
            fooEntity.Name = "entity name";
            fooEntity.Desc = "entity desc";

            var excludeFilter = ExpandoPropertyFilterFactory.CreateExcludeFilter("Desc");
            var fooExpando    = fooEntity.AsExpandoModel(excludeFilter);

            var json = JsonConvert.SerializeObject(fooExpando, Formatting.Indented).Log();

            json.Contains("entity id", StringComparison.OrdinalIgnoreCase).ShouldTrue();
            json.Contains("entity name", StringComparison.OrdinalIgnoreCase).ShouldTrue();
            json.Contains("entity desc", StringComparison.OrdinalIgnoreCase).ShouldFalse();
        }
        public void AsExpandoVo_Should_Ok()
        {
            var fooEntity = new FooEntity();

            fooEntity.Id   = "entity id";
            fooEntity.Name = "entity name";
            fooEntity.Desc = "entity desc";

            var fooVo = fooEntity.AsExpandoModel <FooVo>();

            fooVo.Id.ShouldEqual(fooEntity.Id);
            fooVo.Name.ShouldEqual(fooEntity.Name);

            var jsonVo = JsonConvert.SerializeObject(fooVo, Formatting.Indented).Log();

            jsonVo.Contains("entity id", StringComparison.OrdinalIgnoreCase).ShouldTrue();
            jsonVo.Contains("entity name", StringComparison.OrdinalIgnoreCase).ShouldTrue();
            jsonVo.Contains("entity desc", StringComparison.OrdinalIgnoreCase).ShouldTrue();
        }