Esempio n. 1
0
        public virtual T Materialize <T>()
        {
            Cosmos.Json.IJsonReader    cosmosJsonReader = this.CreateReader();
            Newtonsoft.Json.JsonReader newtonsoftReader = new CosmosDBToNewtonsoftReader(cosmosJsonReader);

            return(DefaultSerializer.Deserialize <T>(newtonsoftReader));
        }
Esempio n. 2
0
        public void JsonConvert_DeserializeObject_Binary()
        {
            Newtonsoft.Json.JsonSerializer jsonSerializer             = Newtonsoft.Json.JsonSerializer.CreateDefault();
            CosmosDBToNewtonsoftReader     cosmosDBToNewtonsoftReader = new CosmosDBToNewtonsoftReader(this.binaryBuffer);

            _ = jsonSerializer.Deserialize <IReadOnlyList <Person> >(cosmosDBToNewtonsoftReader);
        }
Esempio n. 3
0
        public void RunBenchmark(PocoSerializationFormat serializationFormat)
        {
            Newtonsoft.Json.JsonReader reader;
            switch (serializationFormat)
            {
            case PocoSerializationFormat.Text:
                reader = new CosmosDBToNewtonsoftReader(
                    Cosmos.Json.JsonReader.Create(
                        this.peoplePayload.Text));
                break;

            case PocoSerializationFormat.NewtonsoftText:
                if (!MemoryMarshal.TryGetArray(this.peoplePayload.Text, out ArraySegment <byte> segment))
                {
                    throw new InvalidOperationException("Failed to get segment");
                }

                reader = new Newtonsoft.Json.JsonTextReader(
                    new StreamReader(
                        new MemoryStream(segment.Array, index: segment.Offset, count: segment.Count)));
                break;

            case PocoSerializationFormat.Binary:
                reader = new CosmosDBToNewtonsoftReader(
                    Cosmos.Json.JsonReader.Create(
                        this.peoplePayload.Binary));
                break;

            default:
                throw new ArgumentOutOfRangeException(serializationFormat.ToString());
            }

            Newtonsoft.Json.JsonSerializer serializer = new Newtonsoft.Json.JsonSerializer();
            _ = serializer.Deserialize <List <Person> >(reader);
        }
 private static void VerifyReader <T>(ReadOnlyMemory <byte> payload, T expectedDeserializedValue)
 {
     using (CosmosDBToNewtonsoftReader reader = new CosmosDBToNewtonsoftReader(payload))
     {
         JsonSerializer serializer      = new JsonSerializer();
         T      actualDeserializedValue = serializer.Deserialize <T>(reader);
         string expected = JsonConvert.SerializeObject(expectedDeserializedValue, jsonSerializerSettings);
         string actual   = JsonConvert.SerializeObject(actualDeserializedValue, jsonSerializerSettings);
         Assert.AreEqual(expected, actual);
     }
 }