DataProvider_Test.cs 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. using Microsoft.VisualStudio.TestTools.UnitTesting;
  2. using Vitorm.MsTest.Sqlite3;
  3. using Vitorm.MsTest.Sqlite4;
  4. using Vitorm.MsTest.Sqlite5;
  5. namespace Vitorm.MsTest
  6. {
  7. [TestClass]
  8. public partial class DataProvider_Test
  9. {
  10. [TestMethod]
  11. public void Test_GetDataProviderByEntity()
  12. {
  13. var name = Guid.NewGuid().ToString();
  14. Init<User3>(name);
  15. Assert.AreEqual(name, Data.Get<User3>(1).name);
  16. using var dbContext = Data.DataProvider<User3>()?.CreateDbContext();
  17. Assert.AreEqual(name, dbContext.Get<User3>(1).name);
  18. }
  19. [TestMethod]
  20. public void Test_GetDataProviderByName()
  21. {
  22. var name = Guid.NewGuid().ToString();
  23. Init<User3>(name);
  24. using var dbContext = Data.DataProvider("Sqlite3")?.CreateDbContext();
  25. Assert.AreEqual(name, dbContext.Get<UserBase>(1).name);
  26. }
  27. [TestMethod]
  28. public void Test_GetDataProviderByNamespace()
  29. {
  30. var name = Guid.NewGuid().ToString();
  31. Init<User3>(name);
  32. using var dbContext = Data.DataProvider("Vitorm.MsTest.Sqlite3")?.CreateDbContext();
  33. Assert.AreEqual(name, dbContext.Get<UserBase>(1).name);
  34. }
  35. [TestMethod]
  36. public void Test_DataProviderByNamespaces()
  37. {
  38. // Sqlite4
  39. {
  40. var name = Guid.NewGuid().ToString();
  41. Init<User4>(name);
  42. using var dbContext = Data.DataProvider("Vitorm.MsTest.Sqlite4,Vitorm.MsTest.Sqlite5")?.CreateDbContext();
  43. Assert.AreEqual(name, dbContext.Get<UserBase>(1).name);
  44. }
  45. // Sqlite5
  46. {
  47. var name = Guid.NewGuid().ToString();
  48. Init<User5>(name);
  49. Assert.AreEqual(name, Data.Get<User5>(1).name);
  50. }
  51. }
  52. static void Init<User>(string name) where User : UserBase, new()
  53. {
  54. Data.TryDropTable<User>();
  55. Data.TryCreateTable<User>();
  56. Data.Add(new User { id = 1, name = name });
  57. }
  58. }
  59. }
  60. namespace Vitorm.MsTest.Sqlite3
  61. {
  62. public class User3 : Vitorm.MsTest.UserBase
  63. {
  64. }
  65. }
  66. namespace Vitorm.MsTest.Sqlite4
  67. {
  68. public class User4 : Vitorm.MsTest.UserBase
  69. {
  70. }
  71. }
  72. namespace Vitorm.MsTest.Sqlite5
  73. {
  74. public class User5 : Vitorm.MsTest.UserBase
  75. {
  76. }
  77. }