public void Person_Repository_Create_List_Delete()
        {
            //get quantity before actions
            var lst          = _objRepo.GetAll().ToList();
            var initialCount = lst.Count;

            //Arrange
            var person = new Entity.Model.Person {
                FirstName = "John", LastName = "Doe", Email = "*****@*****.**"
            };

            //Act
            var result = _objRepo.Add(person);

            _databaseContext.SaveChanges();

            lst = _objRepo.GetAll().ToList();

            //Assert
            Assert.AreEqual(initialCount + 1, lst.Count);
            Assert.AreEqual("John", lst.Last().FirstName);

            //Remove last added obj
            var dP = _objRepo.Delete(person);

            _databaseContext.SaveChanges();

            lst = _objRepo.GetAll().ToList();

            //Assert
            Assert.AreEqual(initialCount, lst.Count);
        }
        public void Can_Add_Person()
        {
            //Arrange
            var Id   = 1;
            var pers = new Entity.Model.Person {
                FirstName = "John", LastName = "Smith", Email = "*****@*****.**", CreatedOn = DateTime.UtcNow
            };

            _mockRepository.Setup(m => m.Add(pers)).Returns((Entity.Model.Person e) =>
            {
                e.Id = Id;
                return(e);
            });

            //Act
            _service.Add(pers);

            //Assert
            Assert.AreEqual(Id, pers.Id);
            _mockUnitWork.Verify(m => m.Commit(), Times.Once);
        }