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); }
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))); }
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))); }