示例#1
0
        public static string GenerateQueryString()
        {
            var model = new TestModel
            {
                StringProperty       = "String test",
                DateTimeProperty     = DateTime.UtcNow,
                ListStringProperties = new List <string>
                {
                    "List string test 1",
                    "List string test 2"
                },
                People = new List <string>
                {
                    "Person 1",
                    "Person 2"
                },
                TestModel2 = new TestModel2
                {
                    IntProperty = 10,
                    TestModel3  = new TestModel3
                    {
                        GuidProperty = Guid.NewGuid()
                    }
                }
            };

            var utcNow = DateTime.UtcNow;

            var generator = new QueryStringGenerator <TestModel>(model);

            return(generator.Generate());
        }
示例#2
0
        protected void Test(TModel model, string expectedQueryString, Func <IConverter> createConverter, Func <IDeconverter> createDeconverter)
        {
            // Convert it.

            var queryString = new QueryStringGenerator(createConverter()).GenerateQueryString(model);

            Assert.AreEqual(expectedQueryString, queryString.ToString());

            // Deconvert it.

            AssertAreEqual(model, new QueryStringBinder(createDeconverter()).BindQueryString(queryString) as TModel);
            AssertAreEqual(model, new ModelBinder(createDeconverter(), null).BindModel(null, new ModelBindingContext {
                FallbackToEmptyPrefix = true, ValueProvider = new ReadOnlyQueryStringValueProvider(queryString)
            }) as TModel);
        }