private static void VisitCosmosArrayIndexer(CosmosArray cosmosArray, IJsonWriter jsonWriter) { jsonWriter.WriteArrayStart(); for (int i = 0; i < cosmosArray.Count; i++) { CosmosElement arrayItem = cosmosArray[i]; LazyCosmosElementTests.VisitCosmosElementIndexer(arrayItem, jsonWriter); } jsonWriter.WriteArrayEnd(); }
private static void VisitCosmosObjectEnumerable(CosmosObject cosmosObject, IJsonWriter jsonWriter) { jsonWriter.WriteObjectStart(); foreach (KeyValuePair <string, CosmosElement> kvp in cosmosObject) { jsonWriter.WriteFieldName(kvp.Key); LazyCosmosElementTests.VisitCosmosElementIndexer(kvp.Value, jsonWriter); } jsonWriter.WriteObjectEnd(); }
private static void VisitCosmosArrayEnumerable(CosmosArray cosmosArray, IJsonWriter jsonWriter) { jsonWriter.WriteArrayStart(); foreach (CosmosElement arrayItem in cosmosArray) { LazyCosmosElementTests.VisitCosmosElementIndexer(arrayItem, jsonWriter); } jsonWriter.WriteArrayEnd(); }
private static void TestCosmosElementVisitability(string filename) { ReadOnlyMemory <byte> payload = LazyCosmosElementTests.GetPayload(filename); CosmosElement cosmosElement = CosmosElement.CreateFromBuffer(payload); IJsonWriter jsonWriterIndexer = Microsoft.Azure.Cosmos.Json.JsonWriter.Create(JsonSerializationFormat.Binary); IJsonWriter jsonWriterEnumerable = Microsoft.Azure.Cosmos.Json.JsonWriter.Create(JsonSerializationFormat.Binary); LazyCosmosElementTests.VisitCosmosElementIndexer(cosmosElement, jsonWriterIndexer); LazyCosmosElementTests.VisitCosmosElementEnumerable(cosmosElement, jsonWriterEnumerable); ReadOnlySpan <byte> payloadIndexer = jsonWriterIndexer.GetResult().Span; ReadOnlySpan <byte> payloadEnumerable = jsonWriterEnumerable.GetResult().Span; Assert.IsTrue(payload.Span.SequenceEqual(payloadIndexer)); Assert.IsTrue(payload.Span.SequenceEqual(payloadEnumerable)); }
private static void TestCosmosElementVisitabilityFromJson(string json) { ReadOnlyMemory <byte> payload = LazyCosmosElementTests.ConvertStringToBinary(json); CosmosElement cosmosElement = CosmosElement.CreateFromBuffer(payload); IJsonWriter jsonWriterIndexer = Microsoft.Azure.Cosmos.Json.JsonWriter.Create(JsonSerializationFormat.Binary); IJsonWriter jsonWriterEnumerable = Microsoft.Azure.Cosmos.Json.JsonWriter.Create(JsonSerializationFormat.Binary); LazyCosmosElementTests.VisitCosmosElementIndexer(cosmosElement, jsonWriterIndexer); LazyCosmosElementTests.VisitCosmosElementEnumerable(cosmosElement, jsonWriterEnumerable); CosmosElement cosmosElementFromIndexer = CosmosElement.CreateFromBuffer(jsonWriterIndexer.GetResult()); CosmosElement cosmosElementFromEnumerable = CosmosElement.CreateFromBuffer(jsonWriterEnumerable.GetResult()); Assert.AreEqual(cosmosElement, cosmosElementFromIndexer); Assert.AreEqual(cosmosElement, cosmosElementFromEnumerable); }