コード例 #1
0
        public async Task WriteDoubleAsync()
        {
            MemoryStream   ms     = new MemoryStream();
            BsonDataWriter writer = new BsonDataWriter(ms);

            await writer.WriteStartArrayAsync();

            await writer.WriteValueAsync(99.99d);

            await writer.WriteEndAsync();

            string bson = BytesToHex(ms.ToArray());

            Assert.AreEqual("10-00-00-00-01-30-00-8F-C2-F5-28-5C-FF-58-40-00", bson);
        }
コード例 #2
0
        public async Task WriteGuidAsync()
        {
            Guid g = new Guid("D821EED7-4B5C-43C9-8AC2-6928E579B705");

            MemoryStream   ms     = new MemoryStream();
            BsonDataWriter writer = new BsonDataWriter(ms);

            await writer.WriteStartArrayAsync();

            await writer.WriteValueAsync(g);

            await writer.WriteEndAsync();

            string bson = BytesToHex(ms.ToArray());

            Assert.AreEqual("1D-00-00-00-05-30-00-10-00-00-00-04-D7-EE-21-D8-5C-4B-C9-43-8A-C2-69-28-E5-79-B7-05-00", bson);
        }
コード例 #3
0
        public async Task WriteValuesAsync()
        {
            MemoryStream   ms     = new MemoryStream();
            BsonDataWriter writer = new BsonDataWriter(ms);

            await writer.WriteStartArrayAsync();

            await writer.WriteValueAsync(long.MaxValue);

            await writer.WriteValueAsync((ulong)long.MaxValue);

            await writer.WriteValueAsync(int.MaxValue);

            await writer.WriteValueAsync((uint)int.MaxValue);

            await writer.WriteValueAsync(byte.MaxValue);

            await writer.WriteValueAsync(sbyte.MaxValue);

            await writer.WriteValueAsync('a');

            await writer.WriteValueAsync(decimal.MaxValue);

            await writer.WriteValueAsync(double.MaxValue);

            await writer.WriteValueAsync(float.MaxValue);

            await writer.WriteValueAsync(true);

            await writer.WriteValueAsync(new byte[] { 0, 1, 2, 3, 4 });

            await writer.WriteValueAsync(new DateTimeOffset(2000, 12, 29, 12, 30, 0, TimeSpan.Zero));

            await writer.WriteValueAsync(new DateTime(2000, 12, 29, 12, 30, 0, DateTimeKind.Utc));

            await writer.WriteEndAsync();

            string bson = BytesToHex(ms.ToArray());

            Assert.AreEqual("8C-00-00-00-12-30-00-FF-FF-FF-FF-FF-FF-FF-7F-12-31-00-FF-FF-FF-FF-FF-FF-FF-7F-10-32-00-FF-FF-FF-7F-10-33-00-FF-FF-FF-7F-10-34-00-FF-00-00-00-10-35-00-7F-00-00-00-02-36-00-02-00-00-00-61-00-01-37-00-00-00-00-00-00-00-F0-45-01-38-00-FF-FF-FF-FF-FF-FF-EF-7F-01-39-00-00-00-00-E0-FF-FF-EF-47-08-31-30-00-01-05-31-31-00-05-00-00-00-00-00-01-02-03-04-09-31-32-00-40-C5-E2-BA-E3-00-00-00-09-31-33-00-40-C5-E2-BA-E3-00-00-00-00", bson);
        }