Example #1
0
        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
        }
Example #2
0
        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"));
        }
Example #3
0
        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));
        }
Example #4
0
        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");
        }
Example #5
0
        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");
        }
Example #6
0
        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
        }