public void TestSelectWithAnonymous() { Siaqodb nop = new Siaqodb(objPath); nop.DropType <CustomerLite>(); List <CustomerLite> listInitial = new List <CustomerLite>(); for (int i = 0; i < 10; i++) { CustomerLite c = new CustomerLite(); c.Name = i.ToString(); c.Age = i; if (i % 3 == 0) { c.TEnum = TestEnum.Doi; } else { c.TEnum = TestEnum.Trei; } listInitial.Add(c); nop.StoreObject(c); } nop.Flush(); var query = from CustomerLite c in nop where c.Age < 3 select new { c.Age, c.Name }; int k = 0; foreach (var s in query) { } }
public async Task SelectWhereUnaryOperator() { Siaqodb nop = new Siaqodb(); await nop.OpenAsync(dbFolder); await nop.DropTypeAsync <CustomerLite>(); List <CustomerLite> listInitial = new List <CustomerLite>(); for (int i = 0; i < 10; i++) { CustomerLite c = new CustomerLite(); c.Age = i; if (i % 2 == 0) { c.Name = i.ToString() + "TEST"; } else { c.Name = "Siaqo" + i.ToString(); } c.Active = false; listInitial.Add(c); await nop.StoreObjectAsync(c); } await nop.FlushAsync(); //run unoptimized var query = await(from CustomerLite c in nop where c.Age > 5 && !c.Active select new { c.Name, c.Age }).ToListAsync(); int k = 0; Assert.AreEqual(4, query.Count); }
public void SelectWhereUnaryOperator() { Siaqodb nop = new Siaqodb(objPath); nop.DropType <CustomerLite>(); List <CustomerLite> listInitial = new List <CustomerLite>(); for (int i = 0; i < 10; i++) { CustomerLite c = new CustomerLite(); c.Age = i; if (i % 2 == 0) { c.Name = i.ToString() + "TEST"; } else { c.Name = "Siaqo" + i.ToString(); } c.Active = false; listInitial.Add(c); nop.StoreObject(c); } nop.Flush(); //run unoptimized var query = (from CustomerLite c in nop where c.Age > 5 && !c.Active select c).ToList(); int k = 0; Assert.AreEqual(4, query.Count); }
public void SelectWhereMinus() { Siaqodb nop = new Siaqodb(objPath); nop.DropType <CustomerLite>(); List <CustomerLite> listInitial = new List <CustomerLite>(); for (int i = 0; i < 10; i++) { CustomerLite c = new CustomerLite(); c.Age = i; if (i % 2 == 0) { c.Name = i.ToString() + "TEST"; } else { c.Name = "Siaqo" + i.ToString(); } c.Active = false; listInitial.Add(c); nop.StoreObject(c); } nop.Flush(); var query = (from CustomerLite c in nop where c.Age + 2 > 0 select new { c.Name, c.Age }).ToList(); int k = 0; Assert.AreEqual(3, query.Count); }
public async Task SelectWhereUsingAutomaticProperties() { Siaqodb nop = new Siaqodb(); await nop.OpenAsync(dbFolder); await nop.DropTypeAsync <CustomerLite>(); List <CustomerLite> listInitial = new List <CustomerLite>(); for (int i = 0; i < 10; i++) { CustomerLite c = new CustomerLite(); c.Age = i; if (i % 2 == 0) { c.Name = i.ToString() + "TEST"; } else { c.Name = "Siaqo" + i.ToString(); } listInitial.Add(c); await nop.StoreObjectAsync(c); } await nop.FlushAsync(); var query = await(from CustomerLite c in nop where c.Age < 3 select c).ToListAsync(); int k = 0; foreach (var s in query) { Assert.AreEqual(listInitial[k].Name, s.Name); Assert.AreEqual(listInitial[k].Age, s.Age); k++; } Assert.AreEqual(3, k); query = await(from CustomerLite c in nop where c.Active == true select c).ToListAsync(); k = 0; foreach (var s in query) { Assert.AreEqual(listInitial[k].Name, s.Name); Assert.AreEqual(listInitial[k].Age, s.Age); k++; } Assert.AreEqual(10, k); }
public void SelectWhereUsingAutomaticProperties() { Siaqodb nop = new Siaqodb(objPath); nop.DropType <CustomerLite>(); List <CustomerLite> listInitial = new List <CustomerLite>(); for (int i = 0; i < 10; i++) { CustomerLite c = new CustomerLite(); c.Age = i; if (i % 2 == 0) { c.Name = i.ToString() + "TEST"; } else { c.Name = "Siaqo" + i.ToString(); } listInitial.Add(c); nop.StoreObject(c); } nop.Flush(); var query = from CustomerLite c in nop where c.Age < 3 select c; int k = 0; foreach (var s in query) { Assert.AreEqual(listInitial[k].Name, s.Name); Assert.AreEqual(listInitial[k].Age, s.Age); k++; } Assert.AreEqual(3, k); query = from CustomerLite c in nop where c.Active == true select c; k = 0; foreach (var s in query) { Assert.AreEqual(listInitial[k].Name, s.Name); Assert.AreEqual(listInitial[k].Age, s.Age); k++; } Assert.AreEqual(10, k); }
public void SimpleJoinWithEnum() { Siaqodb nop = new Siaqodb(objPath); nop.DropType <CustomerLite>(); nop.DropType <EmployeeLite>(); List <string> s = new List <string>(); for (int i = 0; i < 10; i++) { CustomerLite c = new CustomerLite(); if (i % 2 == 0) { c.TEnum = TestEnum.Unu; } else { c.TEnum = TestEnum.Doi; } ///listInitial.Add(c); nop.StoreObject(c); } List <EmployeeLite> listInitialEmp = new List <EmployeeLite>(); for (int j = 0; j < 3; j++) { EmployeeLite emp = new EmployeeLite(); emp.EmpEnum = TestEnum.Doi; emp.Name = "Employee" + j.ToString(); emp.ID = j; listInitialEmp.Add(emp); nop.StoreObject(emp); } nop.Flush(); var query = (from CustomerLite c in nop join EmployeeLite emp in nop on c.TEnum equals emp.EmpEnum select new { CName = c.Name, EName = emp.Name }).ToList(); Assert.AreEqual(15, query.Count); Assert.AreEqual(listInitialEmp[1].Name, query[1].EName); }
public async Task SelectWhereMinus() { bool exTh = false; try { Siaqodb nop = new Siaqodb(); await nop.OpenAsync(dbFolder); await nop.DropTypeAsync <CustomerLite>(); List <CustomerLite> listInitial = new List <CustomerLite>(); for (int i = 0; i < 10; i++) { CustomerLite c = new CustomerLite(); c.Age = i; if (i % 2 == 0) { c.Name = i.ToString() + "TEST"; } else { c.Name = "Siaqo" + i.ToString(); } c.Active = false; listInitial.Add(c); await nop.StoreObjectAsync(c); } await nop.FlushAsync(); var query = await(from CustomerLite c in nop where c.Age + 2 > 0 select new { c.Name, c.Age }).ToListAsync(); int k = 0; Assert.AreEqual(3, query.Count); } catch (NotSupportedException ex) { exTh = true; } Assert.IsTrue(exTh); }
public async Task SelectWhereBooleanAlone() { Siaqodb nop = new Siaqodb(); await nop.OpenAsync(dbFolder); await nop.DropTypeAsync <CustomerLite>(); List <CustomerLite> listInitial = new List <CustomerLite>(); for (int i = 0; i < 10; i++) { CustomerLite c = new CustomerLite(); c.Age = i; if (i % 2 == 0) { c.Name = i.ToString() + "TEST"; } else { c.Name = "Siaqo" + i.ToString(); } //c.Active = true; listInitial.Add(c); await nop.StoreObjectAsync(c); } await nop.FlushAsync(); //run optimized var query = await(from CustomerLite c in nop where c.Active select c).ToListAsync(); int k = 0; Assert.AreEqual(10, query.Count); //need some more tests here var query1 = await(from CustomerLite c in nop where c.Age > 5 && c.Active select c).ToListAsync(); Assert.AreEqual(4, query1.Count); }
public void SelectWhereBooleanAlone() { Siaqodb nop = new Siaqodb(objPath); nop.DropType <CustomerLite>(); List <CustomerLite> listInitial = new List <CustomerLite>(); for (int i = 0; i < 10; i++) { CustomerLite c = new CustomerLite(); c.Age = i; if (i % 2 == 0) { c.Name = i.ToString() + "TEST"; } else { c.Name = "Siaqo" + i.ToString(); } //c.Active = true; listInitial.Add(c); nop.StoreObject(c); } nop.Flush(); //run optimized var query = (from CustomerLite c in nop where c.Active select c).ToList(); int k = 0; Assert.AreEqual(10, query.Count); //need some more tests here var query1 = (from CustomerLite c in nop where c.Age > 5 && c.Active select new { c.Name, c.Age }).ToList(); Assert.AreEqual(4, query1.Count); }
public async Task SelectWhereUsingEnum() { Siaqodb nop = new Siaqodb(); await nop.OpenAsync(dbFolder); await nop.DropTypeAsync <CustomerLite>(); List <CustomerLite> listInitial = new List <CustomerLite>(); for (int i = 0; i < 10; i++) { CustomerLite c = new CustomerLite(); c.Name = i.ToString(); c.Age = i; if (i % 3 == 0) { c.TEnum = TestEnum.Doi; } else { c.TEnum = TestEnum.Trei; } listInitial.Add(c); await nop.StoreObjectAsync(c); } await nop.FlushAsync(); var query = await(from CustomerLite c in nop where c.Age < 3 select c).ToListAsync(); int k = 0; foreach (var s in query) { Assert.AreEqual(listInitial[k].Name, s.Name); Assert.AreEqual(listInitial[k].TEnum, s.TEnum); k++; } Assert.AreEqual(3, k); }
public void SelectWhereUsingEnum() { Siaqodb nop = new Siaqodb(objPath); nop.DropType <CustomerLite>(); List <CustomerLite> listInitial = new List <CustomerLite>(); for (int i = 0; i < 10; i++) { CustomerLite c = new CustomerLite(); c.Name = i.ToString(); c.Age = i; if (i % 3 == 0) { c.TEnum = TestEnum.Doi; } else { c.TEnum = TestEnum.Trei; } listInitial.Add(c); nop.StoreObject(c); } nop.Flush(); var query = from CustomerLite c in nop where c.Age < 3 select c; int k = 0; foreach (var s in query) { Assert.AreEqual(listInitial[k].Name, s.Name); Assert.AreEqual(listInitial[k].TEnum, s.TEnum); k++; } Assert.AreEqual(3, k); }
public void SimpleJoinWithAutomaticProperties() { Siaqodb nop = new Siaqodb(objPath); nop.DropType <CustomerLite>(); nop.DropType <Employee>(); List <CustomerLite> listInitial = new List <CustomerLite>(); for (int i = 0; i < 20; i++) { CustomerLite c = new CustomerLite(); c.Age = i; if (i % 2 == 0) { c.Name = i.ToString() + "TEST"; } else { c.Name = "ADH" + i.ToString(); } listInitial.Add(c); nop.StoreObject(c); } List <Employee> listInitialEmp = new List <Employee>(); for (int j = 0; j < 10; j++) { Employee emp = new Employee(); emp.CustomerID = j; emp.Name = "Employee" + j.ToString(); emp.ID = j; listInitialEmp.Add(emp); nop.StoreObject(emp); } nop.Flush(); var query = (from CustomerLite c in nop where c.Age < 3 join Employee emp in nop on c.Age equals emp.CustomerID select new EmpCustAnonym { CName = c.Name, EName = emp.Name }).ToList(); Assert.AreEqual(3, query.Count); Assert.AreEqual(listInitial[0].Name, query[0].CName); Assert.AreEqual(listInitialEmp[0].Name, query[0].EName); var query1 = (from CustomerLite c in nop where c.Age < 3 join Employee emp in nop on c.Age equals emp.CustomerID select new EmpCustOID { CName = c.Name, EName = emp.Name, EOID = emp.OID }).ToList(); Assert.AreEqual(3, query1.Count); Assert.AreEqual(listInitial[0].Name, query1[0].CName); Assert.AreEqual(listInitialEmp[0].Name, query1[0].EName); }