MySql_Test.cs 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. using Microsoft.VisualStudio.TestTools.UnitTesting;
  2. using User = Vitorm.MsTest.MySql.User;
  3. using Vitorm.DataProvider;
  4. using System.ComponentModel.DataAnnotations.Schema;
  5. using Vitorm.Sql;
  6. namespace Vitorm.MsTest.MySql
  7. {
  8. public class User : Vitorm.MsTest.UserBase
  9. {
  10. [System.ComponentModel.DataAnnotations.Key]
  11. [System.ComponentModel.DataAnnotations.Schema.DatabaseGenerated(DatabaseGeneratedOption.Identity)]
  12. public override int id { get; set; }
  13. }
  14. }
  15. namespace Vitorm.MsTest
  16. {
  17. [TestClass]
  18. public partial class MySql_Test : UserTest<User>
  19. {
  20. [TestMethod]
  21. public void Test()
  22. {
  23. Init();
  24. Test_Get();
  25. Test_Query();
  26. Test_QueryJoin();
  27. Test_ToExecuteString();
  28. Test_ExecuteUpdate();
  29. Test_ExecuteDelete();
  30. Test_Create();
  31. Test_Update();
  32. Test_Delete();
  33. Test_DbContext();
  34. }
  35. public override User NewUser(int id, bool forAdd = false) => new User { id = forAdd ? 0 : id, name = "testUser" + id };
  36. public void Init()
  37. {
  38. using var dbContext = Data.DataProvider<User>()?.CreateDbContext() as SqlDbContext;
  39. dbContext.Execute(sql: "DROP TABLE if exists `User`;");
  40. dbContext.Create<User>();
  41. var users = new List<User> {
  42. new User { name="u146", fatherId=4, motherId=6 },
  43. new User { name="u246", fatherId=4, motherId=6 },
  44. new User { name="u356", fatherId=5, motherId=6 },
  45. new User { name="u400" },
  46. new User { name="u500" },
  47. new User { name="u600" },
  48. };
  49. dbContext.AddRange(users);
  50. users.ForEach(user => { user.birth = DateTime.Parse("2021-01-01 00:00:00").AddHours(user.id); });
  51. dbContext.UpdateRange(users);
  52. WaitForUpdate();
  53. }
  54. }
  55. }