public void Given_BloodDonorRepository_When_ReturningAnBloodDonor_Then_TheBloodDonorShouldBeProperlyReturned()
        {
            RunOnDatabase(async ctx => {
                //Arrange
                var repository = new BloodDonorRepository(ctx);
                var bloodDonor = BloodDonor.Create("AB4", null);
                await repository.AddAsync(bloodDonor);

                //Act
                var extractedBloodDonor = repository.GetByIdAsync(bloodDonor.BloodDonorId);

                //Assert
                Assert.AreEqual(bloodDonor, extractedBloodDonor);
            });
        }
        public void Given_BloodDonorRepository_When_ReturningAnBloodDonor_Then_TheBloodDonorShouldBeProperlyReturned()
        {
            RunOnDatabase(async ctx => {
                //Arrange
                var repository = new BloodDonorRepository(ctx);
                var patient    = Patient.Create("1234", "Roland", "Iordache", "*****@*****.**", "asfdsdssd", "Iasi", "Romania", new DateTime(1996, 02, 10), "0746524459", null);
                var bloodDonor = BloodDonor.Create("AB4", patient.PatientId, new DateTime());
                await repository.AddAsync(bloodDonor);

                //Act
                var extractedBloodDonor = repository.GetByIdAsync(bloodDonor.BloodDonorId);

                //Assert
                Assert.AreEqual(bloodDonor, extractedBloodDonor);
            });
        }