ChangeDatabase_Test.cs 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. using Microsoft.VisualStudio.TestTools.UnitTesting;
  2. namespace Vitorm.MsTest.CommonTest
  3. {
  4. [TestClass]
  5. public partial class ChangeDatabase_Test
  6. {
  7. [TestMethod]
  8. public void Test_ChangeDatabase()
  9. {
  10. string databaseName;
  11. // database
  12. {
  13. using var dbContext = DataSource.CreateDbContextForWriting(autoInit: false);
  14. databaseName = dbContext.databaseName;
  15. dbContext.TryDropTable<User>();
  16. dbContext.TryCreateTable<User>();
  17. var user = dbContext.Get<User>(1);
  18. Assert.IsNull(user);
  19. user = User.NewUser(id: 1, forAdd: true);
  20. user.name = "Hello database";
  21. dbContext.Add(user);
  22. }
  23. // database2
  24. {
  25. using var dbContext = DataSource.CreateDbContextForWriting(autoInit: false);
  26. dbContext.ChangeDatabase(databaseName + "2");
  27. dbContext.TryDropTable<User>();
  28. dbContext.TryCreateTable<User>();
  29. var user = dbContext.Get<User>(1);
  30. Assert.IsNull(user);
  31. user = User.NewUser(id: 1, forAdd: true);
  32. user.name = "Hello database2";
  33. dbContext.Add(user);
  34. }
  35. DataSource.WaitForUpdate();
  36. // database
  37. {
  38. using var dbContext = DataSource.CreateDbContextForWriting(autoInit: false);
  39. dbContext.ChangeDatabase(databaseName);
  40. var user = dbContext.Get<User>(1);
  41. Assert.AreEqual("Hello database", user.name);
  42. }
  43. // database2
  44. {
  45. using var dbContext = DataSource.CreateDbContextForWriting(autoInit: false);
  46. dbContext.ChangeDatabase(databaseName + "2");
  47. var user = dbContext.Get<User>(1);
  48. Assert.AreEqual("Hello database2", user.name);
  49. }
  50. }
  51. }
  52. }