public void RemoveAndFindWithCachingTest() { using (var svc = new ObjectService(ObjectTestHelper.GetConfigWithCaching())) { var ns = ObjectTestHelper.NameSpace1; var obj = ObjectTestHelper.ObjectName1; svc.CreateNameSpace(new ObjectNameSpaceConfig(ns, "ZeroG Test", "Unit Test", DateTime.Now)); svc.ProvisionObjectStore( new ObjectMetadata(ns, obj, new ObjectIndexMetadata[] { new ObjectIndexMetadata("IntIndex1", ObjectIndexType.Integer), new ObjectIndexMetadata("StrIndex1", ObjectIndexType.String, 15) })); var val1 = new Guid("{D22640F0-7D87-4F1C-8817-119FC036FAC1}"); var val2 = new Guid("{72FC1391-EC51-4826-890B-D02071A9A2DE}"); var val3 = new Guid("{72FC1391-EC51-4826-890B-D02071A9A2DE}"); var intIndex1 = 5; var intIndex2 = 5; var intIndex3 = 5; var strIndex1 = "asdf"; var strIndex2 = "index test val"; var strIndex3 = "zzyyxx"; var objID1 = svc.Store(ns, new PersistentObject() { Name = obj, Value = val1.ToByteArray(), Indexes = new ObjectIndex[] { ObjectIndex.Create("IntIndex1", intIndex1), ObjectIndex.Create("StrIndex1", strIndex1) } }); var objID2 = svc.Store(ns, new PersistentObject() { Name = obj, Value = val2.ToByteArray(), Indexes = new ObjectIndex[] { ObjectIndex.Create("IntIndex1", intIndex2), ObjectIndex.Create("StrIndex1", strIndex2) } }); var objID3 = svc.Store(ns, new PersistentObject() { Name = obj, Value = val3.ToByteArray(), Indexes = new ObjectIndex[] { ObjectIndex.Create("IntIndex1", intIndex3), ObjectIndex.Create("StrIndex1", strIndex3) } }); // test a single index lookup using And var options = new ObjectFindOptions() { Operator = ObjectFindOperator.Equals, Logic = ObjectFindLogic.And }; var findVals = svc.Find(ns, obj, options, new ObjectIndex[] { ObjectIndex.Create("IntIndex1", 5) }).ToArray(); Assert.AreEqual(3, findVals.Length); svc.Remove(ns, obj, objID1.ID); findVals = svc.Find(ns, obj, options, new ObjectIndex[] { ObjectIndex.Create("IntIndex1", 5) }).ToArray(); Assert.AreEqual(2, findVals.Length); Assert.IsNotNull(findVals[0]); Assert.IsNotNull(findVals[1]); } }