Exemplo n.º 1
0
        public void path_lookup_data()
        {
            var storage = new MemoryStream();
            var subject = new PageStorage(storage);

            var val1 = Guid.NewGuid();
            var val2 = Guid.NewGuid();

            subject.BindPath("this is my path", val1, out _);
            subject.BindPath("this is another path", val2, out _);

            var result1 = subject.GetDocumentIdByPath("this is my path");
            var result2 = subject.GetDocumentIdByPath("this path is not presend");

            Assert.That(result1, Is.EqualTo(val1));
            Assert.That(result2, Is.Null);
        }
Exemplo n.º 2
0
        public void path_replacement_cycling()
        {
            var storage = new MemoryStream();
            var subject = new PageStorage(storage);

            var  valIn = Guid.NewGuid();
            Guid?prev  = null;

            for (int i = 0; i < 10; i++)
            {
                subject.BindPath("this path will get replaced a lot", valIn, out var valOut);
                Assert.That(valOut, Is.EqualTo(prev), $"Failed on cycle {i}");
                prev  = valIn;
                valIn = Guid.NewGuid();
            }
            Console.WriteLine($"Storage after writing data is {storage.Length} bytes");
        }
Exemplo n.º 3
0
        public void search_paths_by_prefix()
        {
            var storage = new MemoryStream();
            var subject = new PageStorage(storage);

            subject.BindPath("find me/one", Guid.NewGuid(), out _);
            subject.BindPath("find me/two", Guid.NewGuid(), out _);
            subject.BindPath("miss me/three", Guid.NewGuid(), out _);
            subject.BindPath("find me/four", Guid.NewGuid(), out _);
            subject.BindPath("miss me/five", Guid.NewGuid(), out _);
            subject.BindPath("miss me/six", Guid.NewGuid(), out _);

            var list = string.Join(",", subject.SearchPaths("find me/"));

            Assert.That(list, Is.EqualTo("find me/one,find me/two,find me/four"));
        }
Exemplo n.º 4
0
        public void lookup_paths_for_a_document_id()
        {
            var storage = new MemoryStream();
            var subject = new PageStorage(storage);

            var target = Guid.NewGuid();

            subject.BindPath("one", target, out _);
            subject.BindPath("two", Guid.NewGuid(), out _);
            subject.BindPath("three", target, out _);
            subject.BindPath("four", target, out _);
            subject.BindPath("five", Guid.NewGuid(), out _);
            subject.BindPath("six", Guid.NewGuid(), out _);

            var list = string.Join(",", subject.GetPathsForDocument(target));

            Assert.That(list, Is.EqualTo("one,three,four"));
        }