public async Task CanAdd()
        {
            using (var unitOfWork = new InMemoryUnitOfWork(_arrayList))
            {
                var countFish = (await unitOfWork.Repository.QueryAsync <Fish>()).Count();
                await unitOfWork.Repository.AddAsync(new Fish());

                await unitOfWork.CommitAsync();

                var newCountFish = (await unitOfWork.Repository.QueryAsync <Fish>()).Count();
                newCountFish.Should().Be.EqualTo(countFish + 1);
            }
        }
        public async Task CanUpdate()
        {
            using (var unitOfWork = new InMemoryUnitOfWork(_arrayList))
            {
                var fish = (await unitOfWork.Repository.QueryAsync <Fish>()).First();
                fish.Name.Should().Not.Be.EqualTo("NewName");
                fish.Name = "NewName";
                await unitOfWork.Repository.UpdateAsync(fish);

                await unitOfWork.CommitAsync();

                var updatedFish = (await unitOfWork.Repository.QueryAsync <Fish>()).First(x => x.Id == fish.Id);
                updatedFish.Name.Should().Be.EqualTo("NewName");
            }
        }