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"]); }
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); } } }
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"]); }
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); }
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()); }
public void Insert() { var row = new MyPerzon { GDID = new GDID(1, 1, 100), Name = "Jeka Koshmar", Age = 89 }; store.Insert(row); }
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); }
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); }
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); }
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); }
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); }
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"]); }
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); }
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"]); }
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); }
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); }
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); }
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); }
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); }
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"]); }
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"]); }
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); }
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); }
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"]); }
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); }
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); }