DataProvider_Test.cs 2.4 KB

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