public void WhenMethodGetUserByNameIsCalledReturnUserTest(
            [Values("Richard Child", "Chris Smith", "Awin George", "", null)] string userName)
        {
            // return a user by Name
            _mockUserRepository.Setup(mr => mr.GetUserBy(It.IsIn("Chris Smith"), out _userObj)).Returns(true);

            // setup of Mock User Repository
            var target = new UserService(_mockUserRepository.Object);
            User testUser;
            var success = target.GetUserBy(userName, out testUser);

            // assert
            if (testUser != null && userName == testUser.Name)
            {
                Assert.That(userName, Is.EqualTo(testUser.Name));
                Assert.That(true, Is.EqualTo(success));
            }
            else
            {
                Assert.That(false, Is.EqualTo(success));
            }
        }
        public void WhenMethodGetUserByIdIsCalledReturnUserTest()
        {
            // Return a user by Id
            _mockUserRepository.Setup(mr => mr.GetUserBy(It.IsAny<int>(), out _userObj)).Returns(true);

            // setup of our Mock User Repository
            var target = new UserService(_mockUserRepository.Object);
            User testUser;
            var success = target.GetUserBy(2, out testUser);

            // assert
            _mockUserRepository.VerifyAll();
            Assert.That(true, Is.EqualTo(success));
            Assert.That("Chris Smith", Is.EqualTo(testUser.Name));
            Assert.That("Richard Child", Is.Not.EqualTo(testUser.Name));
            Assert.That(2, Is.EqualTo(testUser.id));
        }