public void DatesTest()
 {
     // TODO VNEXT test datetimeoffset
     ODataQueryProjectorTest.Base.Counter = 0;
     var date = DateTime.Parse("2006-10-01T00:00:10");
     var result = new ODataJsonSerializer().Serialize(new[] { new Dates { DateTime = date } }, new Dictionary<ODataSelectColumnExpression, IReadOnlyList<PropertyInfo>> { { ODataExpression.SelectStar(), Empty<PropertyInfo>.Array } }, null);
     this.Compare(
         result,
         @"[{
             'DateTime': '2006-10-01T00:00:10'
         }]"
     );
 }
        private string Serialize(Settings settings, params Expression<Func<ODataQueryProjectorTest.A, object>>[] expressions)
        {
            var oDataExpressions = expressions.Select(exp => exp.Body as MemberExpression ?? ((UnaryExpression)exp.Body).Operand)
                .Select(exp => ODataQueryProjectorTest.ToODataExpression((MemberExpression)exp))
                .ToArray();

            var enumerable = Enumerable.Range(0, settings.Count ?? 1).Select(_ => new ODataQueryProjectorTest.A())
                .ToList();
            if (settings.ModifyAction != null)
            {
                enumerable.ForEach(settings.ModifyAction);
            }

            var projectionResult = ODataQueryProjector.Project(enumerable.AsQueryable(), oDataExpressions);

            var serialized = new ODataJsonSerializer().Serialize(projectionResult.Query, projectionResult.Mapping, inlineCount: null);
            return serialized;
        }