public void IndexUidNoExist() { // Prepare var subindex = new IndexSub("test"); subindex.Set("uida", 1, "{\"string\":\"1\",\"number\":2}"); subindex.Set("uidb", 1, "{\"string\":\"3\",\"number\":4}"); subindex.Set("uidc", 1, "{\"string\":\"5\",\"number\":6}"); subindex.Set("uidd", 1, "{\"string\":\"7\",\"number\":8}"); subindex.Set("uida1", 1, "{\"string\":\"1\",\"number\":2}"); subindex.Set("uidb1", 1, "{\"string\":\"3\",\"number\":4}"); subindex.Set("uidc1", 1, "{\"string\":\"5\",\"number\":6}"); subindex.Set("uidd1", 1, "{\"string\":\"7\",\"number\":8}"); // Execute Assert.IsFalse(subindex.ContainsUid("uidbad"), "Index not found"); // Cleanup // Check }
public void IndexMatchSingle() { // Prepare var subindex = new IndexSub("test"); subindex.Set("uida", 1, "{\"string\":\"1\",\"number\":2}"); subindex.Set("uidb", 1, "{\"string\":\"3\",\"number\":4}"); subindex.Set("uidc", 1, "{\"string\":\"5\",\"number\":6}"); subindex.Set("uidd", 1, "{\"string\":\"7\",\"number\":8}"); subindex.Set("uida1", 1, "{\"string\":\"1\",\"number\":2}"); subindex.Set("uidb1", 1, "{\"string\":\"3\",\"number\":4}"); subindex.Set("uidc1", 1, "{\"string\":\"5\",\"number\":6}"); subindex.Set("uidd1", 1, "{\"string\":\"7\",\"number\":8}"); // Execute var ret = subindex.UidsMatching(new Dictionary<string, List<object>>() { { "string", new List<object>() { "1" } } }); // Cleanup // Check Assert.AreEqual(2, ret.Count); Assert.IsTrue(ret.Contains("uida")); Assert.IsTrue(ret.Contains("uida1")); }
public void IndexGetPropertyWithNoCollision() { // Prepare var subindex = new IndexSub("test"); subindex.Set("uida", 1, "{\"string\":\"1\",\"number\":2}"); subindex.Set("uidb", 1, "{\"string\":\"3\",\"number\":4}"); subindex.Set("uidc", 1, "{\"string\":\"5\",\"number\":6}"); subindex.Set("uidd", 1, "{\"string\":\"7\",\"number\":8}"); // Execute/Check HashSet<object> ret; ret = subindex.GetProperty("uida", "string"); Assert.AreEqual(1, ret.Count); Assert.IsTrue(ret.Contains("1")); ret = subindex.GetProperty("uida", "number"); Assert.AreEqual(1, ret.Count); Assert.IsTrue(ret.Contains(2)); ret = subindex.GetProperty("uidb", "string"); Assert.AreEqual(1, ret.Count); Assert.IsTrue(ret.Contains("3")); ret = subindex.GetProperty("uidb", "number"); Assert.AreEqual(1, ret.Count); Assert.IsTrue(ret.Contains(4)); ret = subindex.GetProperty("uidc", "string"); Assert.AreEqual(1, ret.Count); Assert.IsTrue(ret.Contains("5")); ret = subindex.GetProperty("uidc", "number"); Assert.AreEqual(1, ret.Count); Assert.IsTrue(ret.Contains(6)); ret = subindex.GetProperty("uidd", "string"); Assert.AreEqual(1, ret.Count); Assert.IsTrue(ret.Contains("7")); ret = subindex.GetProperty("uidd", "number"); Assert.AreEqual(1, ret.Count); Assert.IsTrue(ret.Contains(8)); }
public void IndexGetPropertyNoExist() { // Prepare var subindex = new IndexSub("test"); subindex.Set("uida", 1, "{\"string\":\"1\",\"number\":2}"); subindex.Set("uidb", 1, "{\"string\":\"3\",\"number\":4}"); subindex.Set("uidc", 1, "{\"string\":\"5\",\"number\":6}"); subindex.Set("uidd", 1, "{\"string\":\"7\",\"number\":8}"); // Execute var found = false; try { subindex.GetProperty("uida", "noexist"); } catch (PropertyNotExistsException) { } found = true; // Cleanup // Check Assert.IsTrue(found, "Failed to fail on non-existant property"); }
public void IndexGetNonIndexed() { // Prepare var subindex = new IndexSub("test"); subindex.Set("uida", 1, "{\"string\":\"1\",\"number\":2}"); subindex.Set("uidb", 1, "{\"string\":\"3\",\"number\":4}"); subindex.Set("uidc", 1, "{\"string\":\"5\",\"number\":6}"); subindex.Set("uidd", 1, "{\"string\":\"7\",\"number\":8}"); subindex.Set("uida1", 1, "{\"string\":\"1\",\"number\":2}"); subindex.Set("uidb1", 1, "{\"string\":\"3\",\"number\":4}"); subindex.Set("uidc1", 1, "{\"string\":\"5\",\"number\":6}"); subindex.Set("uidd1", 1, "{\"string\":\"7\",\"number\":8}"); // Execute try { subindex.GetProperty("uida", "boolean"); } catch (PropertyNotIndexedException) { return; } // Cleanup // Check Assert.Fail("Did not throw expected exception"); }
public void IndexDelete() { // Prepare var subindex = new IndexSub("test"); subindex.Set("uida", 1, "{\"string\":\"1\",\"number\":2}"); subindex.Set("uidb", 1, "{\"string\":\"3\",\"number\":4}"); subindex.Set("uidc", 1, "{\"string\":\"5\",\"number\":6}"); subindex.Set("uidd", 1, "{\"string\":\"7\",\"number\":8}"); subindex.Set("uida1", 1, "{\"string\":\"1\",\"number\":2}"); subindex.Set("uidb1", 1, "{\"string\":\"3\",\"number\":4}"); subindex.Set("uidc1", 1, "{\"string\":\"5\",\"number\":6}"); subindex.Set("uidd1", 1, "{\"string\":\"7\",\"number\":8}"); subindex.Set("uida", 1, "null"); // Execute Assert.IsFalse(subindex.ContainsUid("uida"), "Item shouldn't exist any more"); try { subindex.GetProperty("uida", "string"); Assert.Fail("Should have failed"); } catch (ObjectNotExistException) { }; try { subindex.GetSerial("uida"); Assert.Fail("Should have failed"); } catch (ObjectNotExistException) { }; Assert.IsTrue(subindex.ContainsUid("uidb")); Assert.IsTrue(subindex.ContainsUid("uidc")); Assert.IsTrue(subindex.ContainsUid("uidd")); Assert.IsTrue(subindex.ContainsUid("uida1")); Assert.IsTrue(subindex.ContainsUid("uidb1")); Assert.IsTrue(subindex.ContainsUid("uidc1")); Assert.IsTrue(subindex.ContainsUid("uidd1")); // Cleanup // Check }