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; }