public void UpdateEntityInvalidTypeTest()
        {
            var user1 = new User {
                Id        = Guid.NewGuid(),
                FirstName = "test1"
            };

            var user2 = new User {
                Id        = Guid.NewGuid(),
                FirstName = "test2"
            };

            var userList = new List <User> {
                user1,
                user2
            };

            var mockInitialiter = new Mock <IDatabaseInitializer>();

            mockInitialiter.Setup(x => x.InitializeTasks()).Returns(new List <Task>());
            mockInitialiter.Setup(x => x.InitializeUsers()).Returns(userList);

            var context = new InMemoryDataContext(mockInitialiter.Object);

            var user3 = "test3";

            context.UpdateEntity(user3);
        }
        public void UpdateEntityTest()
        {
            var expectedName = "test3";

            var user1 = new User {
                Id        = Guid.NewGuid(),
                FirstName = "test1"
            };

            var user2 = new User {
                Id        = Guid.NewGuid(),
                FirstName = "test2"
            };

            var userList = new List <User> {
                user1,
                user2
            };

            var mockInitialiter = new Mock <IDatabaseInitializer>();

            mockInitialiter.Setup(x => x.InitializeTasks()).Returns(new List <Task>());
            mockInitialiter.Setup(x => x.InitializeUsers()).Returns(userList);

            var context = new InMemoryDataContext(mockInitialiter.Object);

            var user3 = new User {
                Id        = user2.Id,
                FirstName = expectedName
            };

            context.UpdateEntity(user3);

            var last = context.Users.Last();

            Assert.AreEqual(2, context.Users.Count());
            Assert.AreEqual(user2.Id, last.Id);
            Assert.AreEqual(expectedName, last.FirstName);
        }