ChangeTable_Test.cs 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. using System.Data;
  2. using Microsoft.VisualStudio.TestTools.UnitTesting;
  3. namespace Vitorm.MsTest.CommonTest
  4. {
  5. [TestClass]
  6. public partial class ChangeTable_Test
  7. {
  8. [TestMethod]
  9. public void Test_ChangeTable()
  10. {
  11. string tableName;
  12. using var dbContext = DataSource.CreateDbContextForWriting();
  13. var dbSet = dbContext.DbSet<User>();
  14. tableName = dbSet.entityDescriptor.tableName;
  15. User user;
  16. // User
  17. {
  18. user = dbSet.Get(1);
  19. Assert.IsNotNull(user);
  20. }
  21. // User2
  22. {
  23. dbSet.ChangeTable(tableName + "2");
  24. dbSet.TryDropTable();
  25. dbSet.TryCreateTable();
  26. user = dbSet.Get(1);
  27. Assert.IsNull(user);
  28. var users = User.NewUsers(startId: 1, count: 5, forAdd: true);
  29. user = users[1];
  30. user.name = "Hello User2";
  31. dbSet.AddRange(users);
  32. dbSet.DeleteByKey(1);
  33. }
  34. DataSource.WaitForUpdate();
  35. // Assert User2
  36. {
  37. var userList = dbSet.Query().Where(user => new[] { 1, 2, 3 }.Contains(user.id)).OrderBy(u => u.id).ToList();
  38. Assert.AreEqual(2, userList.Count);
  39. Assert.AreEqual(2, userList[0].id);
  40. Assert.AreEqual("Hello User2", userList[0].name);
  41. }
  42. // Assert User
  43. {
  44. //dbSet.ChangeTableBack();
  45. dbSet.ChangeTable(tableName);
  46. Assert.AreEqual("u246", dbSet.Get(2)?.name);
  47. }
  48. }
  49. }
  50. }