当前位置: 首页>>代码示例>>C#>>正文


C# BSONDocument.ToDebugDataString方法代码示例

本文整理汇总了C#中BSONDocument.ToDebugDataString方法的典型用法代码示例。如果您正苦于以下问题:C# BSONDocument.ToDebugDataString方法的具体用法?C# BSONDocument.ToDebugDataString怎么用?C# BSONDocument.ToDebugDataString使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在BSONDocument的用法示例。


在下文中一共展示了BSONDocument.ToDebugDataString方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: Test3SaveLoad

        public void Test3SaveLoad()
        {
            EJDB jb = new EJDB("testdb1", EJDB.DEFAULT_OPEN_MODE | EJDB.JBOTRUNC);
            Assert.IsTrue(jb.IsOpen);
            BSONDocument doc = new BSONDocument().SetNumber("age", 33);
            Assert.IsNull(doc["_id"]);
            bool rv = jb.Save("mycoll", doc);
            Assert.IsTrue(rv);
            Assert.IsNotNull(doc["_id"]);
            Assert.IsInstanceOf(typeof(BSONOid), doc["_id"]);
            rv = jb.Save("mycoll", doc);
            Assert.IsTrue(rv);

            BSONIterator it = jb.Load("mycoll", doc["_id"] as BSONOid);
            Assert.IsNotNull(it);

            BSONDocument doc2 = it.ToBSONDocument();
            Assert.AreEqual(doc.ToDebugDataString(), doc2.ToDebugDataString());
            Assert.IsTrue(doc == doc2);

            Assert.AreEqual(1, jb.CreateQueryFor("mycoll").Count());
            Assert.IsTrue(jb.Remove("mycoll", doc["_id"] as BSONOid));
            Assert.AreEqual(0, jb.CreateQueryFor("mycoll").Count());

            jb.Save("mycoll", doc);
            Assert.AreEqual(1, jb.CreateQueryFor("mycoll").Count());
            Assert.IsTrue(jb.DropCollection("mycoll"));
            Assert.AreEqual(0, jb.CreateQueryFor("mycoll").Count());

            Assert.IsTrue(jb.Sync());
            jb.Dispose();
        }
开发者ID:JulianLiu,项目名称:ejdb,代码行数:32,代码来源:TestEJDB.cs

示例2: TestIterate1

        public void TestIterate1()
        {
            var doc = new BSONDocument();
            doc["a"] = "av";
            doc["bb"] = 24;
            //doc["ccc"] = BSONDocument.ValueOf(new{na1 = 1, nb = "2"});
            //doc["d"] = new BSONOid("51b9f3af98195c4600000000");

            //17-00-00-00 						+4
            //02-61-00-03-00-00-00-61-76-00		+10
            //10-62-62-00-18-00-00-00			+8
            //00								+1
            Assert.AreEqual("17-00-00-00-02-61-00-03-00-00-00-61-76-00-10-62-62-00-18-00-00-00-00",
                            doc.ToDebugDataString());
            BSONIterator it = new BSONIterator(doc);
            Assert.AreEqual(doc.ToByteArray().Length, it.DocumentLength);
            var c = "";
            while (it.Next() != BSONType.EOO) {
                c += it.CurrentKey;
            }
            Assert.AreEqual("abb", c);
            it.Dispose();

            it = new BSONIterator(doc);
            var cnt = 0;
            while (it.Next() != BSONType.EOO) {
                BSONValue bv = it.FetchCurrentValue();
                Assert.IsNotNull(bv);
                if (cnt == 0) {
                    Assert.IsTrue(bv.BSONType == BSONType.STRING);
                    Assert.IsTrue(bv.Key == "a");
                    Assert.AreEqual("av", bv.Value);
                }
                if (cnt == 1) {
                    Assert.IsTrue(bv.BSONType == BSONType.INT);
                    Assert.IsTrue(bv.Key == "bb");
                    Assert.AreEqual(24, bv.Value);
                }
                cnt++;
            }
        }
开发者ID:rayleyva,项目名称:ejdb,代码行数:41,代码来源:TestBSON.cs

示例3: TestSerialize1

        public void TestSerialize1()
        {
            byte[] bdata;
            BSONDocument doc = new BSONDocument();
            doc.SetNumber("0", 1);
            //0C-00-00-00 	len
            //10		  	type
            //30-00 		key
            //01-00-00-00	int val
            //00			zero term
            bdata = doc.ToByteArray();
            Assert.AreEqual("0C-00-00-00-10-30-00-01-00-00-00-00", doc.ToDebugDataString());
            Assert.AreEqual(bdata.Length, (int) Convert.ToByte(doc.ToDebugDataString().Substring(0, 2), 16));

            BSONDocument doc2 = new BSONDocument(doc.ToByteArray());
            Assert.AreEqual(1, doc2.KeysCount);
            int c = 0;
            foreach (BSONValue bv in doc2) {
                c++;
                Assert.IsNotNull(bv);
                Assert.AreEqual(BSONType.INT, bv.BSONType);
                Assert.AreEqual("0", bv.Key);
                Assert.AreEqual(1, bv.Value);
            }
            Assert.That(c > 0);
            doc2.SetNumber("0", 2);
            Assert.AreEqual(1, doc2.KeysCount);
            object ival = doc2["0"];
            Assert.IsInstanceOf(typeof(int), ival);
            Assert.AreEqual(2, ival);
            doc2.SetNumber("1", Int32.MaxValue);
            //13-00-00-00
            //10
            //30-00
            //02-00-00-00
            //10-31-00
            //FF-FF-FF-7F
            //00
            Assert.AreEqual("13-00-00-00-10-30-00-02-00-00-00-10-31-00-FF-FF-FF-7F-00",
                            doc2.ToDebugDataString());

            doc2 = new BSONDocument(doc2);
            Assert.AreEqual("13-00-00-00-10-30-00-02-00-00-00-10-31-00-FF-FF-FF-7F-00",
                            doc2.ToDebugDataString());

            doc2 = new BSONDocument(doc2.ToByteArray());
            Assert.AreEqual("13-00-00-00-10-30-00-02-00-00-00-10-31-00-FF-FF-FF-7F-00",
                            doc2.ToDebugDataString());

            doc = new BSONDocument();
            doc["a"] = 1;
            Assert.AreEqual("0C-00-00-00-10-61-00-01-00-00-00-00", doc.ToDebugDataString());
        }
开发者ID:rayleyva,项目名称:ejdb,代码行数:53,代码来源:TestBSON.cs

示例4: TestSerializeEmpty

 public void TestSerializeEmpty()
 {
     BSONDocument doc = new BSONDocument();
     Assert.AreEqual("05-00-00-00-00", doc.ToDebugDataString());
 }
开发者ID:rayleyva,项目名称:ejdb,代码行数:5,代码来源:TestBSON.cs

示例5: TestIterate2

        public void TestIterate2()
        {
            var doc = new BSONDocument();
            doc["a"] = "av";
            doc["b"] = BSONDocument.ValueOf(new{cc = 1});
            doc["d"] = new BSONOid("51b9f3af98195c4600000000");
            Assert.AreEqual(3, doc.KeysCount);
            //Console.WriteLine(doc.KeysCount);
            //Console.WriteLine(doc.ToDebugDataString());
            //2E-00-00-00					   	+4
            //02-61-00-03-00-00-00-61-76-00		+10 (14)
            //03-62-00							+3  (17) "d" =
            //0D-00-00-00						+4  (21) doc len = 13
            //10-63-63-00-01-00-00-00 -00		+9 	(30)
            //07-64-00							+3 	(33)
            //51-B9-F3-AF-98-19-5C-46-00-00-00-00	 +12 (45)
            //00									+1 (46)
            Assert.AreEqual("2E-00-00-00-" +
                "02-61-00-03-00-00-00-61-76-00-" +
                "03-62-00-" +
                "0D-00-00-00-" +
                "10-63-63-00-01-00-00-00-00-" +
                "07-64-00-" +
                "51-B9-F3-AF-98-19-5C-46-00-00-00-00-" +
                "00", doc.ToDebugDataString());
            BSONIterator it = new BSONIterator(doc);
            int c = 0;
            foreach (var bt in it) {
                if (c == 0) {
                    Assert.IsTrue(bt == BSONType.STRING);
                }
                if (c == 1) {
                    Assert.IsTrue(bt == BSONType.OBJECT);
                }
                if (c == 2) {
                    Assert.IsTrue(bt == BSONType.OID);
                }
                ++c;
            }
            bool thrown = false;
            Assert.IsTrue(it.Disposed);
            try {
                it.Next();
            } catch (ObjectDisposedException) {
                thrown = true;
            }
            Assert.IsTrue(thrown);

            c = 0;
            it = new BSONIterator(doc);
            foreach (var bv in it.Values()) {
                if (c == 0) {
                    Assert.AreEqual("a", bv.Key);
                    Assert.AreEqual("av", bv.Value);
                }
                if (c == 1) {
                    Assert.AreEqual("b", bv.Key);
                    BSONDocument sdoc = bv.Value as BSONDocument;
                    Assert.IsNotNull(sdoc);
                    foreach (var bv2 in new BSONIterator(sdoc).Values()) {
                        Assert.AreEqual("cc", bv2.Key);
                        Assert.AreEqual(1, bv2.Value);
                        Assert.AreEqual(BSONType.INT, bv2.BSONType);
                    }
                }
                if (c == 2) {
                    Assert.AreEqual(BSONType.OID, bv.BSONType);
                    Assert.IsInstanceOf(typeof(BSONOid), bv.Value);
                    var oid = bv.Value as BSONOid;
                    Assert.AreEqual("51b9f3af98195c4600000000", oid.ToString());
                }
                c++;
            }
        }
开发者ID:rayleyva,项目名称:ejdb,代码行数:74,代码来源:TestBSON.cs


注:本文中的BSONDocument.ToDebugDataString方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。