public void Update_ContactRecord_ExpectedSuccessfulUpdateFlag()
        {
            mockDataContext.Setup((item) => item.Context).Returns(mockAddressBook.Object);

            var contactRepository = new DataRepository.ContactRepository(mockLogger.Object, mockDatabaseSettings.Object, mockDataContext.Object);

            List <DataModel.Contact> contactList = contactModelList.ToList();

            DataModel.Contact updateContactModel = contactModelList.First();

            DateTime oldUpdatedTime = updateContactModel.Updated;

            mockAddressBook.Setup((item) => item.SaveChanges()).Returns(1);
            mockAddressBook.Setup((item) => item.ContactTypes).Returns(mockedContactTypeDBSet.Object);
            mockAddressBook.Setup((item) => item.Contacts).Returns(mockedContactDBSet.Object);
            mockAddressBook.Setup((item) => item.AddressList).Returns(mockedAddressDBSet.Object);

            Assert.IsTrue(contactRepository.Update(updateContactModel));
            Assert.AreNotEqual(updateContactModel.Updated, oldUpdatedTime);
            Assert.IsTrue(mockAddressBook.Object.Contacts.SingleOrDefault((item) => item.Id == updateContactModel.Id).Id == updateContactModel.Id);
        }
        public void Update_Contact_ExpectedFailedUpdateFlag()
        {
            mockDataContext.Setup((item) => item.Context).Returns(mockAddressBook.Object);

            var contactRepository = new DataRepository.ContactRepository(mockLogger.Object, mockDatabaseSettings.Object, mockDataContext.Object);

            List <DataModel.Contact> contactList = contactModelList.ToList();

            DataModel.Contact updateContactModel = new DataModel.Contact()
            {
                Id = 10, FirstName = "Street", LastName = "City", Type = contactTypeModelList.First()
            };

            DateTime oldUpdatedTime = updateContactModel.Updated;

            mockAddressBook.Setup((item) => item.SaveChanges()).Returns(0);
            mockAddressBook.Setup((item) => item.ContactTypes).Returns(mockedContactTypeDBSet.Object);
            mockAddressBook.Setup((item) => item.Contacts).Returns(mockedContactDBSet.Object);
            mockAddressBook.Setup((item) => item.AddressList).Returns(mockedAddressDBSet.Object);

            Assert.IsFalse(contactRepository.Update(updateContactModel));
            Assert.AreEqual(updateContactModel.Updated, oldUpdatedTime);
            Assert.IsNull(mockAddressBook.Object.Contacts.SingleOrDefault((item) => item.Id == updateContactModel.Id));
        }