private static void VerifyBinaryEncoding(byte[] byteArray, string encodedByteArr)
        {
            // Writing binary literal
            var builder = new StringBuilder();
            var writer = new JsonWriter(new StringWriter(builder), false /*indent*/, ODataFormat.Json, isIeee754Compatible: true);
            writer.WritePrimitiveValue(byteArray);

            // Json literals is surrounded with quotes, so we need to add quotes to the encoded string. 
            Assert.Equal("\"" + encodedByteArr + "\"", builder.ToString());

            string defaultFormattedByteArray = DefaultLiteralFormatter.Format(byteArray);
            string keyAsSegmentFormattedByteArray = KeyAsSegmentsLiteralFormatter.Format(byteArray);

            // Non key segment is surrounded with binary prefix and escaped. 
            Assert.Equal("binary\'" + Uri.EscapeDataString(encodedByteArr) + "\'", defaultFormattedByteArray);

            // Key Segments are the same as the escaped encoded string.
            Assert.Equal(Uri.EscapeDataString(encodedByteArr), keyAsSegmentFormattedByteArray);

            // Parsing binary literal
            var jsonReader = new JsonReader(new StringReader(builder.ToString()), ODataFormat.Json, isIeee754Compatible:true);
            jsonReader.Read();
            Assert.Equal(encodedByteArr, jsonReader.Value);

            object defaultParsedByteArray;
            DefaultLiteralParser.TryParseLiteral(byteArray.GetType(),Uri.UnescapeDataString(defaultFormattedByteArray), out defaultParsedByteArray).Should().BeTrue();
            Assert.Equal((byte[])defaultParsedByteArray, byteArray);

            object keyAsSegmentParsedByteArray;
            KeyAsSegmentsLiteralParser.TryParseLiteral(byteArray.GetType(), Uri.UnescapeDataString(keyAsSegmentFormattedByteArray), out keyAsSegmentParsedByteArray).Should().BeTrue();
            Assert.Equal((byte[])keyAsSegmentParsedByteArray, byteArray);
        }
        /// <summary>
        /// Serialize a set of spatial instances using the specified JsonWriter.
        /// </summary>
        /// <param name="writer">The Json writer.</param>
        /// <param name="instances">The spatial instances to write.</param>
        /// <returns>UTF8-Encoded serialization result.</returns>
        private static string SerializeSpatialInstances(Action<object, IJsonWriter> writer, IEnumerable<object> instances)
        {
            var stream = new MemoryStream();
            var textWriter = new StreamWriter(stream, Encoding.UTF8);
            var jsonWriter = new JsonWriter(textWriter, false, ODataFormat.Json, false);
            var textReader = new StreamReader(stream, Encoding.UTF8);

            foreach (var instance in instances)
            {
                writer(instance, jsonWriter);
            }

            jsonWriter.Flush();

            stream.Seek(0, SeekOrigin.Begin);

            return textReader.ReadToEnd();
        }