Guest User

Untitled

a guest
Feb 8th, 2019
139
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.69 KB | None | 0 0
  1. public class MockUserRepository
  2. {
  3. private readonly IList<User> _users;
  4.  
  5. public MockUserRepository()
  6. {
  7. _users = new List<User>()
  8. {
  9. new User()
  10. {
  11. UserId = new Guid("E480E40F-6802-4296-B2A8-E0D5E018CD41"),
  12. Username = "admin",
  13. Password = "5A105E8B9D40E1329780D62EA2265D8A",
  14. CellPhone = "3175172957"
  15. }
  16. };
  17. }
  18.  
  19. public IUserRepository Create()
  20. {
  21. var mockUserRepository = new Mock<IUserRepository>();
  22.  
  23. mockUserRepository.Setup(m => m.Count()).Returns(_users.Count());
  24.  
  25. mockUserRepository.Setup(m => m.Get()).Returns(_users);
  26.  
  27. mockUserRepository.Setup(m => m.Get(It.IsAny<Guid>())).Returns((Guid id) => _users.First(x => x.UserId == id));
  28.  
  29. mockUserRepository.Setup(m => m.Save(It.IsAny<User>())).Returns(
  30. (User user) =>
  31. {
  32. var now = DateTime.Now;
  33.  
  34. user.ModifiedOn = now;
  35.  
  36. if(user.UserId.Equals(Guid.Empty))
  37. {
  38. user.CreatedOn = now;
  39. _users.Add(user);
  40. }
  41. else
  42. {
  43. var original = _users.First(x => x.UserId == user.UserId);
  44. if (original == null)
  45. {
  46. return false;
  47. }
  48.  
  49. original = user;
  50. }
  51. return true;
  52. }
  53. );
  54.  
  55. mockUserRepository.Setup(m => m.Find(It.IsAny<IList<object[]>>())).Returns(
  56. (IList<object[]> criteria) =>
  57. {
  58. IList<User> uList = _users.ToList();
  59.  
  60. foreach (object[] criteriaItem in criteria)
  61. {
  62. var name = (string)criteriaItem[0];
  63. var value = (string)criteriaItem[1];
  64. IList<User> tempList = uList.ToList();
  65. IList<User> addList = tempList.Where(user => (string) user.GetType().GetProperty(name).GetValue(user, null) == value).ToList();
  66. uList = addList;
  67. }
  68. return uList;
  69. });
  70.  
  71. return mockUserRepository.Object;
  72. }
  73. }
  74.  
  75. public class MockUserRepository : IUserRepository
  76.  
  77. [SetUp]
  78. public void Setup()
  79. {
  80. MockUserRepository = new MockUserRepository().Create();
  81. MockRoleRepository = new MockRoleRepository().Create();
  82. MockQuestionRepository = new MockQuestionRepository().Create();
  83.  
  84. AuthenticationService = new AuthenticationService(MockUserRepository, MockRoleRepository, MockQuestionRepository);
  85. }
  86.  
  87. reposistory = new Mock<IUserRepository>();
  88.  
  89. var id = 1;
  90. var user = new User();
  91. repository.Setup(x=> x.Get(id)).Returns(user);
  92.  
  93. var sut = new Service(repository.Object);
  94. var result = sut.Get(id);
  95.  
  96. Assert.Equals(user, result);
  97.  
  98. class FakeUserRepository : IUserRepository
  99. {
  100. public List<User> Users = new List<Users>();
  101.  
  102. public User Get(long id)
  103. {
  104. return Users.FristOrDetail(x=>x.Id = id);
  105. }
  106. }
  107.  
  108. var id = 1;
  109. var user = new User();
  110. var repository = new FakeUserRepository();
  111. repository.Users.Add(user);
  112.  
  113. var sut = new Service(repository);
  114. var result = sut.Get(id);
  115.  
  116. Assert.Equals(user, result);
Add Comment
Please, Sign In to add comment