SqlServer_Test.cs 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. using Microsoft.VisualStudio.TestTools.UnitTesting;
  2. using User = Vitorm.MsTest.SqlServer.User;
  3. namespace Vitorm.MsTest.SqlServer
  4. {
  5. public class User : Vitorm.MsTest.UserBase
  6. {
  7. [System.ComponentModel.DataAnnotations.Key]
  8. [System.ComponentModel.DataAnnotations.Schema.DatabaseGenerated(System.ComponentModel.DataAnnotations.Schema.DatabaseGeneratedOption.Identity)]
  9. public override int id { get; set; }
  10. }
  11. }
  12. namespace Vitorm.MsTest.CommonTest
  13. {
  14. [TestClass]
  15. public partial class SqlServer_Test : UserTest<User>
  16. {
  17. [TestMethod]
  18. public void Test()
  19. {
  20. Init();
  21. Test_DbContext();
  22. Test_Transaction();
  23. Test_Get();
  24. Test_Query();
  25. Test_QueryJoin();
  26. Test_ToExecuteString();
  27. Test_ExecuteUpdate();
  28. Test_ExecuteDelete();
  29. Test_Create();
  30. Test_Update();
  31. Test_Delete();
  32. }
  33. [TestMethod]
  34. public async Task TestAsync()
  35. {
  36. Init();
  37. await Test_GetAsync();
  38. await Test_QueryAsync();
  39. await Test_QueryJoinAsync();
  40. await Test_ExecuteUpdateAsync();
  41. await Test_ExecuteDeleteAsync();
  42. await Test_UpdateAsync();
  43. await Test_DeleteAsync();
  44. }
  45. public override User NewUser(int id, bool forAdd = false) => new User { id = forAdd ? 0 : id, name = "testUser" + id };
  46. public void Init()
  47. {
  48. using var dbContext = Data.DataProvider<User>()?.CreateDbContext();
  49. dbContext.TryDropTable<User>();
  50. dbContext.TryCreateTable<User>();
  51. var users = new List<User> {
  52. new User { name="u146", fatherId=4, motherId=6 },
  53. new User { name="u246", fatherId=4, motherId=6 },
  54. new User { name="u356", fatherId=5, motherId=6 },
  55. new User { name="u400" },
  56. new User { name="u500" },
  57. new User { name="u600" },
  58. };
  59. dbContext.AddRange(users);
  60. users.ForEach(user => { user.birth = DateTime.Parse("2021-01-01 00:00:00").AddHours(user.id); });
  61. dbContext.UpdateRange(users);
  62. WaitForUpdate();
  63. }
  64. }
  65. }