public void Test_FilterGroup_Or() { using (LogGroup logGroup = LogGroup.Start("Testing a filter group query with the OR operator.", NLog.LogLevel.Debug)) { TestEntity e1 = new TestEntity(); e1.Name = "Test E1"; FilterGroup filterGroup = new FilterGroup(); filterGroup.Operator = FilterGroupOperator.Or; PropertyFilter filter1 = (PropertyFilter)DataAccess.Data.CreateFilter(typeof(PropertyFilter)); filter1.PropertyName = "Name"; filter1.PropertyValue = e1.Name; filter1.AddType(typeof(TestEntity)); PropertyFilter filter2 = (PropertyFilter)DataAccess.Data.CreateFilter(typeof(PropertyFilter)); filter2.PropertyName = "Name"; filter2.PropertyValue = "Another value"; filter2.AddType(typeof(TestEntity)); filterGroup.Filters = new BaseFilter[] {filter1, filter2}; DataAccess.Data.Stores[typeof(TestEntity)].Saver.Save(e1); IEntity[] found = (IEntity[])DataAccess.Data.Indexer.GetEntities(filterGroup); Assert.IsNotNull(found, "Null value returned."); if (found != null) Assert.IsTrue(found.Length > 0, "No results found."); DataAccess.Data.Deleter.Delete(e1); } }
public void Test_FilterGroup_And_Exclusion() { using (LogGroup logGroup = LogGroup.Start("Testing a filter group query with the AND operator.", NLog.LogLevel.Debug)) { TestEntity e1 = new TestEntity(); e1.Name = "Test E1"; FilterGroup filterGroup = new FilterGroup(); filterGroup.Operator = FilterGroupOperator.And; PropertyFilter filter1 = (PropertyFilter)DataAccess.Data.CreateFilter(typeof(PropertyFilter)); filter1.PropertyName = "Name"; filter1.PropertyValue = e1.Name; filter1.AddType(typeof(TestEntity)); PropertyFilter filter2 = (PropertyFilter)DataAccess.Data.CreateFilter(typeof(PropertyFilter)); filter2.PropertyName = "Name"; filter2.PropertyValue = "Another value"; filter2.AddType(typeof(TestEntity)); filterGroup.Filters = new BaseFilter[] {filter1, filter2}; DataAccess.Data.Saver.Save(e1); IEntity[] found = (IEntity[])DataAccess.Data.Indexer.GetEntities(filterGroup); Assert.IsNotNull(found, "Null array returned."); Collection<TestEntity> foundList = new Collection<TestEntity>(found); if (found != null) Assert.AreEqual(0, foundList.Count, "Entity retrieved when it shouldn't have matched."); DataAccess.Data.Deleter.Delete(e1); } }
public void Test_GetEntitiesByPropertyFilter() { using (LogGroup logGroup = LogGroup.Start("Testing a simple query with the PropertyFilter.", NLog.LogLevel.Debug)) { TestEntity e1 = new TestEntity(); e1.Name = "Test E1"; PropertyFilter filter = (PropertyFilter)DataAccess.Data.CreateFilter(typeof(PropertyFilter)); filter.PropertyName = "Name"; filter.PropertyValue = e1.Name; filter.AddType(typeof(TestEntity)); DataAccess.Data.Saver.Save(e1); IEntity[] found = (IEntity[])DataAccess.Data.Indexer.GetEntities(filter); Assert.IsNotNull(found, "Null value returned"); if (found != null) Assert.IsTrue(found.Length > 0, "No results found."); } }
public void Test_GetEntitiesByIDArray() { TestEntity e1 = new TestEntity(); e1.Name = "Test E1"; DataAccess.Data.Saver.Save(e1); TestEntity[] entities = DataAccess.Data.Indexer.GetEntities<TestEntity>(new Guid[] {e1.ID}); Assert.IsNotNull(entities, "Entities array was null."); Assert.AreEqual(1, entities.Length, "Invalid number of entities found"); }