CRUD_Test.cs 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166
  1. using Microsoft.VisualStudio.TestTools.UnitTesting;
  2. using Vit.Extensions.Vitorm_Extensions;
  3. using System.Data;
  4. namespace Vitorm.MsTest.CommonTest
  5. {
  6. [TestClass]
  7. public class CRUD_Test
  8. {
  9. #region #1 Create
  10. [TestMethod]
  11. public void Test_Create()
  12. {
  13. var user = new User { id = 7, name = "testUser7", birth = DateTime.Now, fatherId = 1, motherId = 2 };
  14. var user2 = new User { id = 8, name = "testUser8", birth = DateTime.Now, fatherId = 3, motherId = 4 };
  15. // #1 Add
  16. {
  17. using var dbContext = DataSource.CreateDbContext();
  18. var userQuery = dbContext.Query<User>();
  19. dbContext.Add(user);
  20. Assert.AreEqual(7, userQuery.Count());
  21. var newUser = userQuery.FirstOrDefault(m => m.id == 7);
  22. Assert.AreEqual(user.id, newUser?.id);
  23. Assert.AreEqual(user.name, newUser?.name);
  24. }
  25. // #2 AddRange
  26. {
  27. using var dbContext = DataSource.CreateDbContext();
  28. var userQuery = dbContext.Query<User>();
  29. dbContext.AddRange(new[] { user, user2 });
  30. Assert.AreEqual(8, userQuery.Count());
  31. var newUsers = userQuery.Where(m => m.id >= 7).ToList();
  32. Assert.AreEqual(2, newUsers.Count());
  33. Assert.AreEqual(user.id, newUsers[0]?.id);
  34. Assert.AreEqual(user2.id, newUsers[1]?.id);
  35. }
  36. }
  37. #endregion
  38. #region #3 Update
  39. [TestMethod]
  40. public void Test_Update()
  41. {
  42. var birth = DateTime.Parse("2021-03-01 00:00:00");
  43. var user = new User { id = 4, name = "testUser4", birth = birth, fatherId = 14 };
  44. var user2 = new User { id = 5, name = "testUser5", birth = DateTime.Now, fatherId = 15 };
  45. #region Update
  46. {
  47. using var dbContext = DataSource.CreateDbContext();
  48. var userQuery = dbContext.Query<User>();
  49. var rowCount = dbContext.Update(user);
  50. Assert.AreEqual(1, rowCount);
  51. var newUser = userQuery.FirstOrDefault(m => m.id == 4);
  52. Assert.AreEqual(4, newUser.id);
  53. Assert.AreEqual(user.name, newUser.name);
  54. Assert.AreEqual(user.birth, newUser.birth);
  55. Assert.AreEqual(user.fatherId, newUser.fatherId);
  56. }
  57. #endregion
  58. #region UpdateRange
  59. {
  60. using var dbContext = DataSource.CreateDbContext();
  61. var userQuery = dbContext.Query<User>();
  62. var rowCount = dbContext.UpdateRange(new[] { user, user2 });
  63. Assert.AreEqual(2, rowCount);
  64. var newUsers = userQuery.Where(m => m.id == 4 || m.id == 5).ToList();
  65. Assert.AreEqual(user.id, newUsers[0].id);
  66. Assert.AreEqual(user.name, newUsers[0].name);
  67. Assert.AreEqual(user2.id, newUsers[1].id);
  68. Assert.AreEqual(user2.name, newUsers[1].name);
  69. }
  70. #endregion
  71. }
  72. #endregion
  73. #region #4 Delete
  74. [TestMethod]
  75. public void Test_Delete()
  76. {
  77. #region #1 Delete
  78. {
  79. using var dbContext = DataSource.CreateDbContext();
  80. var userQuery = dbContext.Query<User>();
  81. var rowCount = dbContext.Delete(new User { id = 5 });
  82. Assert.AreEqual(1, rowCount);
  83. Assert.AreEqual(5, userQuery.Count());
  84. }
  85. #endregion
  86. #region #2 DeleteRange
  87. {
  88. using var dbContext = DataSource.CreateDbContext();
  89. var userQuery = dbContext.Query<User>();
  90. var rowCount = dbContext.DeleteRange(new[] { new User { id = 5 }, new User { id = 6 }, new User { id = 10 } });
  91. Assert.AreEqual(2, rowCount);
  92. Assert.AreEqual(4, userQuery.Count());
  93. }
  94. #endregion
  95. #region #3 DeleteByKey
  96. {
  97. using var dbContext = DataSource.CreateDbContext();
  98. var userQuery = dbContext.Query<User>();
  99. var rowCount = dbContext.DeleteByKey<User>(4);
  100. Assert.AreEqual(1, rowCount);
  101. Assert.AreEqual(5, userQuery.Count());
  102. }
  103. {
  104. using var dbContext = DataSource.CreateDbContext();
  105. var userQuery = dbContext.Query<User>();
  106. var rowCount = dbContext.DeleteByKey<User>(7);
  107. Assert.AreEqual(0, rowCount);
  108. Assert.AreEqual(6, userQuery.Count());
  109. }
  110. #endregion
  111. #region #4 DeleteByKeys
  112. {
  113. using var dbContext = DataSource.CreateDbContext();
  114. var userSet = dbContext.DbSet<User>();
  115. var rowCount = userSet.DeleteByKeys(new[] { 5, 6, 10 });
  116. Assert.AreEqual(2, rowCount);
  117. Assert.AreEqual(4, userSet.Query().Count());
  118. }
  119. #endregion
  120. }
  121. #endregion
  122. }
  123. }