public void Search(IObjectRepositorySearch search, ObjectRepository repository, Field field, IObjectRepositoryContainer <ObjectRepository> container, Signature signature, string message)
        {
            // Arrange
            container.AddRepository(repository, signature, message);

            // Act
            var found = search.Grep(container, field.Id.ToString()).ToList();

            // Assert
            Assert.That(found, Is.Not.Empty);
        }
Ejemplo n.º 2
0
        public void SearchInLargeRepository(IObjectRepositorySearch search, IObjectRepositoryContainer <ObjectRepository> container, IObjectRepositoryLoader loader)
        {
            // Arrange
            var sut       = loader.LoadFrom(container, RepositoryFixture.BenchmarkRepositoryDescription);
            var page      = sut.Applications.PickRandom().Pages.PickRandom();
            var stopwatch = Stopwatch.StartNew();

            // Act
            var result = search.Grep(sut, page.Id.ToString());

            stopwatch.Stop();
            Console.WriteLine($"Grep total duration: {stopwatch.Elapsed}");

            // Assert
            Assert.That(result, Is.Not.Empty);
            Assert.That(stopwatch.Elapsed, Is.LessThan(TimeSpan.FromSeconds(2)));
        }
Ejemplo n.º 3
0
        public void SearchInLargeRepositoryUsingLightDbBackend(IObjectRepositorySearch search, IObjectRepositoryContainer <ObjectRepository> container, IObjectRepositoryLoader loader)
        {
            // Arrange
            var           dbFile  = Path.Combine(RepositoryFixture.BenchmarkRepositoryDescription.Path, "lite.db");
            LiteDbBackend backend = default;
            var           repositoryDescription = RepositoryFixture.BenchmarkRepositoryDescription
                                                  .WithBackend(() => backend = new LiteDbBackend($"filename={dbFile}; journal=false"));
            var sut = loader.LoadFrom(container, repositoryDescription);

            sut.Execute(r => r.ObjectDatabase.CopyAllBlobs(backend));
            var page      = sut.Applications.PickRandom().Pages.PickRandom();
            var stopwatch = Stopwatch.StartNew();

            // Act
            var result = search.Grep(sut, page.Id.ToString());

            stopwatch.Stop();
            Console.WriteLine($"Grep total duration: {stopwatch.Elapsed}");

            // Assert
            Assert.That(result, Is.Not.Empty);
            Assert.That(stopwatch.Elapsed, Is.LessThan(TimeSpan.FromSeconds(5)));
        }