Beispiel #1
0
        public void Count()
        {
            for(var i=0; i<100; i++)
              {
            var row = new MyPerzon
            {
               GDID = new GDID(1, 1, (ulong)i),
               Name = "Jeka Koshmar",
               Age = i
            };

            store.Insert(row);
              }

              //Note!
              // this query is implemented in C# code
              var rs = store.LoadOneRowset(new Query("CountPerzons")
                           {
                             new Query.Param("fromAge", 10),
                             new Query.Param("toAge", 90)
                           });
              Assert.IsNotNull( rs );

              Assert.AreEqual(1, rs.Count);

              Assert.AreEqual(79, rs[0]["Count"]);
        }
Beispiel #2
0
        public void TestFindFetchBy(int skip, int fetchBy)
        {
            const int COUNT = 1000;

            for (var i = 0; i < COUNT; i++)
            {
                var row = new MyPerzon
                {
                    GDID = new GDID(1, 1, (ulong)i),
                    Name = "Jeka Koshmar",
                    Age  = i
                };

                m_Store.Insert(row);
            }

            using (var db = m_Mongo[CONNECT_NODE][DB_NAME])
            {
                var collection = db["MyPerzon"];
                var query      = new Data.Access.MongoDb.Connector.Query();

                var cur = collection.Find(query, skip, fetchBy);
                using (cur)
                {
                    Aver.AreEqual(cur.Count(), COUNT - skip);
                }
            }
        }
Beispiel #3
0
        public void InsertManyAndLoadMany()
        {
            for (var i = 0; i < 100; i++)
            {
                var row = new MyPerzon
                {
                    GDID = new GDID(1, 1, (ulong)i),
                    Name = "Jeka Koshmar",
                    Age  = i
                };

                m_Store.Insert(row);
            }

            var rs = m_Store.LoadOneRowset(new Query("CRUD.LoadPerzonsInAgeSpan", typeof(MyPerzon))
            {
                new Query.Param("fromAge", 10),
                new Query.Param("toAge", 15)
            });

            Aver.IsNotNull(rs);

            Aver.AreEqual(4, rs.Count);

            Aver.AreObjectsEqual(14, rs.First()["Age"]);
            Aver.AreObjectsEqual(11, rs.Last()["Age"]);
        }
Beispiel #4
0
        public void UpsertWithPredicate()
        {
            var person = new MyPerzon
            {
                GDID = new GDID(1, 1, 1),
                Name = "Jack London",
                Age  = 23
            };

            m_Store.Insert(person);
            var query = new Query <MyPerzon>("CRUD.LoadPerzon")
            {
                new Query.Param("id", person.GDID)
            };
            var persisted = m_Store.LoadDoc(query);

            persisted.Name = "Ivan";
            persisted.Age  = 56;

            var affected = m_Store.Upsert(persisted, (r, k, f) => f.Name != "Name");
            var upserted = m_Store.LoadDoc(query);

            Aver.AreEqual(1, affected);
            Aver.AreEqual(null, upserted.Name);
            Aver.AreEqual(persisted.Age, upserted.Age);
        }
Beispiel #5
0
        public void Count()
        {
            for (var i = 0; i < 100; i++)
            {
                var row = new MyPerzon
                {
                    GDID = new GDID(1, 1, (ulong)i),
                    Name = "Jeka Koshmar",
                    Age  = i
                };

                m_Store.Insert(row);
            }

            //Note!
            // this query is implemented in C# code
            var rs = m_Store.LoadOneRowset(new Query("CountPerzons")
            {
                new Query.Param("fromAge", 10),
                new Query.Param("toAge", 90)
            });

            Aver.IsNotNull(rs);

            Aver.AreEqual(1, rs.Count);

            Aver.AreObjectsEqual(79, rs[0]["Count"].AsInt());
        }
Beispiel #6
0
        public void Insert()
        {
            var row = new MyPerzon
            {
                GDID = new GDID(1, 1, 100),
                Name = "Jeka Koshmar",
                Age  = 89
            };

            store.Insert(row);
        }
Beispiel #7
0
      public void Insert()
      {
          var row = new MyPerzon
          {
             GDID = new GDID(1, 1, 100),
             Name = "Jeka Koshmar",
             Age = 89
          }; 

          store.Insert(row);
      }
Beispiel #8
0
        public void Insert()
        {
            var row = new MyPerzon
            {
                GDID = new GDID(1, 1, 100),
                Name = "Jeka Koshmar",
                Age  = 89
            };

            var affected = m_Store.Insert(row);

            Aver.AreEqual(1, affected);
        }
Beispiel #9
0
        public void InsertUpsert()
        {
            var row = new MyPerzon
            {
                GDID = new GDID(1, 1, 1),
                Name = "Eight Eightavich",
                Age  = 8
            };

            Aver.AreEqual(1, m_Store.Insert(row));

            var qryBetween1015 = new Query("CRUD.LoadPerzonsInAgeSpan", typeof(MyPerzon))
            {
                new Query.Param("fromAge", 10),
                new Query.Param("toAge", 15)
            };


            var rs = m_Store.LoadOneRowset(qryBetween1015);

            Aver.IsNotNull(rs);

            Aver.AreEqual(0, rs.Count);

            row = new MyPerzon
            {
                GDID = new GDID(1, 1, 2),
                Name = "T Twelver",
                Age  = 12
            };

            Aver.AreEqual(1, m_Store.Insert(row));

            rs = m_Store.LoadOneRowset(qryBetween1015);
            Aver.IsNotNull(rs);

            Aver.AreEqual(1, rs.Count);
            var cr = rs[0];

            Aver.AreObjectsEqual("T Twelver", cr["Name"]);

            cr["Name"] = "12-er";
            m_Store.Upsert(cr);

            rs = m_Store.LoadOneRowset(qryBetween1015);
            Aver.IsNotNull(rs);

            Aver.AreEqual(1, rs.Count);
            row = rs[0] as MyPerzon;
            Aver.AreEqual("12-er", row.Name);
        }
Beispiel #10
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
            };

            m_Store.Insert(row);

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

            var schema = m_Store.GetSchema(qry);

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

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

            var row2 = new DynamicDoc(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();

            Aver.AreEqual(4, dyn.Data.Count);
            Aver.AreEqual("10:10:10", dyn._id);
            Aver.AreEqual("Kozloff", dyn.Name);
            Aver.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
            //Aver.AreEqual(data, dyn.Data);
        }
Beispiel #11
0
        public void InsertUpsertUpdate()
        {
            var row = new MyPerzon
            {
                GDID = new GDID(1, 1, 1),
                Name = "Eight Eightavich",
                Age  = 8
            };

            Aver.AreEqual(1, m_Store.Insert(row));

            var qryBetween1015 = new Query("CRUD.LoadPerzonsInAgeSpan", typeof(MyPerzon))
            {
                new Query.Param("fromAge", 10),
                new Query.Param("toAge", 15)
            };


            var rs = m_Store.LoadOneRowset(qryBetween1015);

            Aver.IsNotNull(rs);

            Aver.AreEqual(0, rs.Count);

            row = new MyPerzon
            {
                GDID = new GDID(1, 1, 2),
                Name = "T Twelver",
                Age  = 12
            };

            Aver.AreEqual(0, m_Store.Update(row)); //update did not find

            Aver.AreEqual(1, m_Store.Upsert(row)); //upsert DID find

            row.Name = "12-er-changed";
            Aver.AreEqual(1, m_Store.Update(row));//update DID find this time

            rs = m_Store.LoadOneRowset(qryBetween1015);
            Aver.IsNotNull(rs);

            Aver.AreEqual(1, rs.Count);
            row = rs[0] as MyPerzon;
            Aver.AreEqual(new GDID(1, 1, 2), row.GDID);
            Aver.AreEqual("12-er-changed", row.Name);
        }
Beispiel #12
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);
        }
Beispiel #13
0
        public void InsertDelete()
        {
            for (var i = 0; i < 100; i++)
            {
                var row = new MyPerzon
                {
                    GDID = new GDID(1, 1, (ulong)i),
                    Name = "Jeka Koshmar",
                    Age  = i
                };

                m_Store.Insert(row);
            }

            var qryBetween1015 = new Query("CRUD.LoadPerzonsInAgeSpan", typeof(MyPerzon))
            {
                new Query.Param("fromAge", 10),
                new Query.Param("toAge", 15)
            };

            var rs = m_Store.LoadOneRowset(qryBetween1015);

            Aver.IsNotNull(rs);

            Aver.AreEqual(4, rs.Count);

            Aver.AreObjectsEqual(14, rs.First()["Age"]);
            Aver.AreObjectsEqual(11, rs.Last()["Age"]);


            Aver.AreEqual(1, m_Store.Delete(rs.First()));//DELETE!!!!

            rs = m_Store.LoadOneRowset(qryBetween1015);
            Aver.IsNotNull(rs);

            Aver.AreEqual(3, rs.Count);

            Aver.AreObjectsEqual(13, rs.First()["Age"]);
            Aver.AreObjectsEqual(11, rs.Last()["Age"]);
        }
Beispiel #14
0
        public void InsertWithPredicate()
        {
            var person = new MyPerzon
            {
                GDID = new GDID(1, 1, 1),
                Name = "Jack London",
                Age  = 23
            };

            var affected = store.Insert(person, (r, k, f) => f.Name != "Age");

            Assert.AreEqual(1, affected);

            var query = new Query <MyPerzon>("CRUD.LoadPerzon")
            {
                new Query.Param("id", person.GDID)
            };
            var persisted = store.LoadRow(query);

            Assert.AreEqual(person.Name, persisted.Name);
            Assert.AreEqual(0, persisted.Age);
        }
Beispiel #15
0
        public void InsertAndLoadRowIntoDynamicRow()
        {
            var row = new MyPerzon
            {
                GDID = new GDID(2, 2, 200),
                Name = "Zalup Marsoedov",
                Age  = 89
            };

            m_Store.Insert(row);

            var row2 = m_Store.LoadDoc(new Query <DynamicDoc>("CRUD.LoadPerzon")
            {
                new Query.Param("id", row.GDID)
            });

            Aver.IsNotNull(row2);

            Aver.AreEqual(row.GDID, row2["_id"].AsGDID());
            Aver.AreObjectsEqual(row.Name, row2["Name"]);
            Aver.AreObjectsEqual(row.Age, row2["Age"]);
        }
Beispiel #16
0
        public void InsertAndLoadWithProjection()
        {
            var row = new MyPerzon
            {
                GDID = new GDID(1, 1, 100),
                Name = "Jeka Koshmar",
                Age  = 89
            };

            m_Store.Insert(row);

            var row2 = m_Store.LoadOneDoc(new Query("CRUD.LoadPerzonAge", typeof(MyPerzon))
            {
                new Query.Param("id", row.GDID)
            }) as MyPerzon;

            Aver.IsNotNull(row2);

            Aver.AreEqual(GDID.Zero, row2.GDID);
            Aver.AreEqual(null, row2.Name);
            Aver.AreEqual(row.Age, row2.Age);
        }
Beispiel #17
0
        public void InsertAndLoad()
        {
            var row = new MyPerzon
            {
                GDID = new GDID(1, 1, 100),
                Name = "Jeka Koshmar",
                Age  = 89
            };

            store.Insert(row);

            var row2 = store.LoadOneRow(new Query("CRUD.LoadPerzon", typeof(MyPerzon))
            {
                new Query.Param("id", row.GDID)
            }) as MyPerzon;

            Assert.IsNotNull(row2);

            Assert.AreEqual(row.GDID, row2.GDID);
            Assert.AreEqual(row.Name, row2.Name);
            Assert.AreEqual(row.Age, row2.Age);
        }
Beispiel #18
0
        public void Insert()
        {
            var row = new MyPerzon
              {
             GDID = new GDID(1, 1, 100),
             Name = "Jeka Koshmar",
             Age = 89
              };

              var affected = store.Insert(row);
              Assert.AreEqual(1, affected);
        }
Beispiel #19
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);
        }
Beispiel #20
0
        public void InsertAndLoad()
        {
            var row = new MyPerzon
              {
             GDID = new GDID(1, 1, 100),
             Name = "Jeka Koshmar",
             Age = 89
              };

              store.Insert(row);

              var row2 = store.LoadOneRow(new Query("CRUD.LoadPerzon", typeof(MyPerzon))
                           {
                             new Query.Param("id", row.GDID)
                           }) as MyPerzon;
              Assert.IsNotNull( row2 );

              Assert.AreEqual(row.GDID, row2.GDID);
              Assert.AreEqual(row.Name, row2.Name);
              Assert.AreEqual(row.Age,  row2.Age);
        }
Beispiel #21
0
        public void InsertDelete()
        {
            for(var i=0; i<100; i++)
              {
            var row = new MyPerzon
            {
               GDID = new GDID(1, 1, (ulong)i),
               Name = "Jeka Koshmar",
               Age = i
            };

            store.Insert(row);
              }

              var qryBetween1015 = new Query("CRUD.LoadPerzonsInAgeSpan", typeof(MyPerzon))
                           {
                             new Query.Param("fromAge", 10),
                             new Query.Param("toAge", 15)
                           };

              var rs = store.LoadOneRowset(qryBetween1015);
              Assert.IsNotNull( rs );

              Assert.AreEqual(4, rs.Count);

              Assert.AreEqual(14, rs.First()["Age"]);
              Assert.AreEqual(11, rs.Last()["Age"]);

              Assert.AreEqual(1, store.Delete(rs.First()));//DELETE!!!!

              rs = store.LoadOneRowset(qryBetween1015);
              Assert.IsNotNull( rs );

              Assert.AreEqual(3, rs.Count);

              Assert.AreEqual(13, rs.First()["Age"]);
              Assert.AreEqual(11, rs.Last()["Age"]);
        }
Beispiel #22
0
        public void InsertManyAndLoadMany()
        {
            for(var i=0; i<100; i++)
              {
            var row = new MyPerzon
            {
               GDID = new GDID(1, 1, (ulong)i),
               Name = "Jeka Koshmar",
               Age = i
            };

            store.Insert(row);
              }

              var rs = store.LoadOneRowset(new Query("CRUD.LoadPerzonsInAgeSpan", typeof(MyPerzon))
                           {
                             new Query.Param("fromAge", 10),
                             new Query.Param("toAge", 15)
                           });
              Assert.IsNotNull( rs );

              Assert.AreEqual(4, rs.Count);

              Assert.AreEqual(14, rs.First()["Age"]);
              Assert.AreEqual(11, rs.Last()["Age"]);
        }
Beispiel #23
0
        public void InsertUpsert()
        {
            var row = new MyPerzon
              {
              GDID = new GDID(1, 1, 1),
              Name = "Eight Eightavich",
              Age = 8
              };

              Assert.AreEqual(1, store.Insert(row) );

              var qryBetween1015 = new Query("CRUD.LoadPerzonsInAgeSpan", typeof(MyPerzon))
                           {
                             new Query.Param("fromAge", 10),
                             new Query.Param("toAge", 15)
                           };

              var rs = store.LoadOneRowset(qryBetween1015);
              Assert.IsNotNull( rs );

              Assert.AreEqual(0, rs.Count);

              row =  new MyPerzon
              {
              GDID = new GDID(1, 1, 2),
              Name = "T Twelver",
              Age = 12
              };

              Assert.AreEqual(1, store.Insert(row) );

              rs = store.LoadOneRowset(qryBetween1015);
              Assert.IsNotNull( rs );

              Assert.AreEqual(1, rs.Count);
              var cr = rs[0];
              Assert.AreEqual("T Twelver", cr["Name"]);

              cr["Name"] = "12-er";
              store.Upsert(cr);

              rs = store.LoadOneRowset(qryBetween1015);
              Assert.IsNotNull( rs );

              Assert.AreEqual(1, rs.Count);
              row = rs[0] as MyPerzon;
              Assert.AreEqual("12-er", row.Name);
        }
Beispiel #24
0
        public void InsertUpsertUpdate()
        {
            var row = new MyPerzon
              {
              GDID = new GDID(1, 1, 1),
              Name = "Eight Eightavich",
              Age = 8
              };

              Assert.AreEqual(1, store.Insert(row) );

              var qryBetween1015 = new Query("CRUD.LoadPerzonsInAgeSpan", typeof(MyPerzon))
                           {
                             new Query.Param("fromAge", 10),
                             new Query.Param("toAge", 15)
                           };

              var rs = store.LoadOneRowset(qryBetween1015);
              Assert.IsNotNull( rs );

              Assert.AreEqual(0, rs.Count);

              row =  new MyPerzon
              {
              GDID = new GDID(1, 1, 2),
              Name = "T Twelver",
              Age = 12
              };

              Assert.AreEqual(0, store.Update(row) );//update did not find

              Assert.AreEqual(1, store.Upsert(row) );//upsert DID find

              row.Name="12-er-changed";
              Assert.AreEqual(1, store.Update(row) );//update DID find this time

              rs = store.LoadOneRowset(qryBetween1015);
              Assert.IsNotNull( rs );

              Assert.AreEqual(1, rs.Count);
              row = rs[0] as MyPerzon;
              Assert.AreEqual(new GDID(1,1,2), row.GDID);
              Assert.AreEqual("12-er-changed", row.Name);
        }
Beispiel #25
0
      public void InsertAndLoadRowIntoDynamicRow()
      {
          var row = new MyPerzon
          {
             GDID = new GDID(2, 2, 200),
             Name = "Zalup Marsoedov",
             Age = 89
          }; 

          store.Insert(row);
                                  
          var row2 = store.LoadRow(new Query<DynamicRow>("CRUD.LoadPerzon")
                           {
                             new Query.Param("id", row.GDID)
                           }); 
          Assert.IsNotNull( row2 );

          Assert.AreEqual(row.GDID, row2["_id"].AsGDID());
          Assert.AreEqual(row.Name, row2["Name"]);
          Assert.AreEqual(row.Age,  row2["Age"]);
      }
Beispiel #26
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);
        }
Beispiel #27
0
        public void UpsertWithPredicate()
        {
            var person = new MyPerzon
            {
                GDID = new GDID(1, 1, 1),
                Name = "Jack London",
                Age = 23
            };

            store.Insert(person);
            var query = new Query<MyPerzon>("CRUD.LoadPerzon")
                           {
                             new Query.Param("id", person.GDID)
                           };
            var persisted = store.LoadRow(query);
            persisted.Name = "Ivan";
            persisted.Age = 56;

            var affected = store.Upsert(persisted, (r, k, f) => f.Name != "Name");
            var upserted = store.LoadRow(query);

            Assert.AreEqual(1, affected);
            Assert.AreEqual(null, upserted.Name);
            Assert.AreEqual(persisted.Age, upserted.Age);
        }