Exemplo n.º 1
0
        public void GetSchema_ROW_JSON_ROW()
        {
            var data = new byte[] { 0x00, 0x79, 0x14 };
            var row  =
                new MyPerzon
            {
                GDID = new GDID(1, 1, 980),
                Name = "Lenin Grib",
                Age  = 100,
                Data = data
            };

            store.Insert(row);

            var qry = new Query("CRUD.LoadPerzon", typeof(MyPerzon))
            {
                new Query.Param("id", new GDID(1, 1, 980))
            };

            var schema = store.GetSchema(qry);

            Assert.IsNotNull(schema);
            Assert.AreEqual(4, schema.FieldCount);

            Assert.AreEqual(0, schema["_id"].Order);
            Assert.AreEqual(1, schema["Name"].Order);
            Assert.AreEqual(2, schema["Age"].Order);
            Assert.AreEqual(3, schema["Data"].Order);

            var row2 = new DynamicRow(schema);//Notice: We are creating dynamic row with schema taken from Mongo

            row2["_id"]  = new GDID(10, 10, 10);
            row2["Name"] = "Kozloff";
            row2["Age"]  = "199";
            row2["Data"] = data;

            var json = row2.ToJSON(JSONWritingOptions.PrettyPrintRowsAsMap);

            Console.WriteLine(json);

            var dyn = json.JSONToDynamic();

            Assert.AreEqual(4, dyn.Data.Count);
            Assert.AreEqual("10:10:10", dyn._id);
            Assert.AreEqual("Kozloff", dyn.Name);
            Assert.AreEqual("199", dyn.Age);
            //todo: how to check dynamic row with 'Data' name? dyn.Data is the collection of all kvp ((JSONDataMap)dyn.Data)["Data"] is JSONDataArray
            //Assert.AreEqual(data, dyn.Data);
        }
Exemplo n.º 2
0
        public void GetSchema_ROW_JSON_ROW()
        {
            var row =
                new MyPerzon
            {
                GDID = new GDID(1, 1, 980),
                Name = "Lenin Grib",
                Age  = 100
            };

            store.Insert(row);

            var qry = new Query("CRUD.LoadPerzon", typeof(MyPerzon))
            {
                new Query.Param("id", new GDID(1, 1, 980))
            };

            var schema = store.GetSchema(qry);

            Assert.IsNotNull(schema);
            Assert.AreEqual(3, schema.FieldCount);

            Assert.AreEqual(0, schema["_id"].Order);
            Assert.AreEqual(1, schema["Name"].Order);
            Assert.AreEqual(2, schema["Age"].Order);

            var row2 = new DynamicRow(schema);//Notice: We are creating dynamic row with schema taken from Mongo

            row2["_id"]  = new GDID(10, 10, 10);
            row2["Name"] = "Kozloff";
            row2["Age"]  = "199";

            var json = row2.ToJSON(JSONWritingOptions.PrettyPrintRowsAsMap);

            Console.WriteLine(json);

            var dyn = json.JSONToDynamic();

            Assert.AreEqual("10:10:10", dyn._id);
            Assert.AreEqual("Kozloff", dyn.Name);
            Assert.AreEqual("199", dyn.Age);
        }