Guest User

Untitled

a guest
May 25th, 2018
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.44 KB | None | 0 0
  1. public async Task<Books> GetBooksByBookIdAsyncByLinq(string bookId)
  2. {
  3.  
  4. var books = await _individualRepository.GetEntitiesAsync(t => t.BookID == bookId);
  5.  
  6. if (individualResponse.Any())
  7. {
  8. return individualResponse.FirstOrDefault();
  9. }
  10.  
  11. return null;
  12. }
  13.  
  14. [Fact]
  15. public void Test_GetBooksByBookIdAsyncByLinq()
  16. {
  17. //Arrange
  18. var bookID = "000";
  19.  
  20. //Mock DocumentDBRepository
  21. var mockDocumentDBRepository = new Mock<IRepository<Book>>();
  22. var expected = Get_BookValue();
  23. mockDocumentDBRepository.Setup(x => x.GetEntitiesAsync(x => x.BookID == bookID))
  24. .Returns(Task.FromResult(expected));
  25. var component = new BookComponent(mockDocumentDBRepository.Object);
  26.  
  27. //Act
  28. var result = component.GetBooksByBookIdAsyncByLinq(bookID);
  29. //Assert
  30. result.Result.Should().NotBeNull().And.
  31. BeOfType<Book>();
  32. }
  33.  
  34.  
  35. private Book Get_BookValue(){
  36.  
  37. IEnumerable<Book> result = new List<Book>
  38. { new Book
  39. { BookID = "000", BookName = "TestSourceSystemName" } };
  40. return result;
  41. }
  42.  
  43. public async Task<Books> GetBooksByBookIdAsyncBySQL(string bookId)
  44. {
  45.  
  46. var books = await _individualRepository.RunSQLQueryAsync("select * from c where c.BookID ==" + bookId);
  47.  
  48. if (individualResponse.Any())
  49. {
  50. return individualResponse.FirstOrDefault();
  51. }
  52.  
  53. return null;
  54. }
  55.  
  56. [Fact]
  57. public void Test_GetBooksByBookIdAsyncBySQL()
  58. {
  59. //Arrange
  60. var bookID = "000";
  61.  
  62. var sqlQuery = "select * from c where c.BookID ==" + bookId;
  63.  
  64. //Mock DocumentDBRepository
  65. var mockDocumentDBRepository = new Mock<IRepository<Book>>();
  66. var expected = Get_BookValue();
  67. mockDocumentDBRepository.Setup(x => x.RunQueryAsync(sqlQuery))
  68. .Returns(Task.FromResult(expected));
  69. var component = new BookComponent(mockDocumentDBRepository.Object);
  70.  
  71. //Act
  72. var result = component.GetBooksByBookIdAsyncBySQL(bookID);
  73. //Assert
  74. result.Result.Should().NotBeNull().And.
  75. BeOfType<Book>();
  76. }
  77. private Book Get_BookValue(){
  78.  
  79. IEnumerable<Book> result = new List<Book>
  80. { new Book
  81. { BookID = "000", BookName = "TestSourceSystemName" } };
  82. return result;
  83. }
  84.  
  85. public async Task<IEnumerable<T>> GetEntitiesAsync(Expression<Func<T, bool>> predicate)
  86. {
  87. IDocumentQuery<T> query = GetQueryByPredicate(predicate);
  88. List<T> results = new List<T>();
  89. while (query.HasMoreResults)
  90. {
  91. results.AddRange(await query.ExecuteNextAsync<T>());
  92. }
  93. return results;
  94. }
  95.  
  96. public async Task<IEnumerable<T>> RunQueryAsync(string queryString)
  97. {
  98. IDocumentQuery<T> query = GetQueryBySQL(queryString);
  99.  
  100. List<T> results = new List<T>();
  101.  
  102. while (query.HasMoreResults)
  103. {
  104. results.AddRange(await query.ExecuteNextAsync<T>());
  105. }
  106. return results;
  107. }
Add Comment
Please, Sign In to add comment