public void Can_Delete_Valid_RegisteredUsers()
 {
     // Arrange - create a RegisteredUser
     RegisteredUser prod = new RegisteredUser { RegisteredUserId = 2, Username = "******" };
     // Arrange - create the mock repository
     Mock<IRegisteredUsers> mock = new Mock<IRegisteredUsers>();
     mock.Setup(m => m.RegisteredUsers).Returns(new RegisteredUser[] {
         new RegisteredUser {RegisteredUserId = 1, Username = "******"},
         prod,
         new RegisteredUser {RegisteredUserId = 3, Username = "******"},
         }.AsQueryable());
     // Arrange - create the controller
     AdminController target = new AdminController(mock.Object);
     // Act - delete the RegisteredUser
     target.Delete(prod.RegisteredUserId);
     // Assert - ensure that the repository delete method was
     // called with the correct RegisteredUser
     mock.Verify(m => m.DeleteRegisteredUser(prod.RegisteredUserId));
 }
 public void Index_Contains_All_RegisteredUsers()
 {
     // Arrange - create the mock repository
     Mock<IRegisteredUsers> mock = new Mock<IRegisteredUsers>();
     mock.Setup(m => m.RegisteredUsers).Returns(new RegisteredUser[] {
         new RegisteredUser{RegisteredUserId = 1, Username = "******"},
         new RegisteredUser{RegisteredUserId = 2, Username = "******"},
         new RegisteredUser{RegisteredUserId = 3, Username = "******"},
         }.AsQueryable());
     // Arrange - create a controller
     AdminController target = new AdminController(mock.Object);
     // Action
     RegisteredUser[] result = ((IEnumerable<RegisteredUser>)target.Index().
     ViewData.Model).ToArray();
     // Assert
     Assert.AreEqual(result.Length, 3);
     Assert.AreEqual("RUser1", result[0].Username);
     Assert.AreEqual("RUser2", result[1].Username);
     Assert.AreEqual("RUser3", result[2].Username);
 }