public async Task TestNestedRepository() { var repositoryInner = new IdentityRepository(new NullLogger <IdentityRepository>(), Redis); var repository = new SimpleItemRepository(new NullLogger <SimpleItemRepository>(), Redis, repositoryInner); var transaction = Redis.StartTransaction(); var tasks = new List <Task>(); for (int i = 0; i < 2; i++) { tasks.Add(repository.Save(new SimpleItem { Id = i }, transaction)); } await transaction.Commit(); await Task.WhenAll(tasks); var all = await repository.LoadAll(repository.Entity.AllIndex).ToArray(); Assert.AreEqual(2, all.Length); tasks.Clear(); transaction = Redis.StartTransaction(); for (int i = 0; i < 2; i++) { tasks.Add(repository.Delete(i.ToString())); } await transaction.Commit(); await Task.WhenAll(tasks); all = await repository.LoadAll(repository.Entity.AllIndex).ToArray(); Assert.AreEqual(0, all.Length); }