Property_Test.cs 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. using System.ComponentModel.DataAnnotations;
  2. using Microsoft.VisualStudio.TestTools.UnitTesting;
  3. namespace Vitorm.MsTest.CommonTest
  4. {
  5. [TestClass]
  6. public class Property_Test
  7. {
  8. [TestMethod]
  9. public void Test_RequiredAndMaxLength()
  10. {
  11. using var dbContext = DataSource.CreateDbContext();
  12. var dbSet = dbContext.DbSet<UserInfo>();
  13. dbSet.TryDropTable();
  14. dbSet.TryCreateTable();
  15. {
  16. dbSet.Add(new UserInfo { id = 1, name = "user1" });
  17. try
  18. {
  19. dbSet.Add(new UserInfo { id = 2 });
  20. Assert.Fail("name should be required");
  21. }
  22. catch (Exception ex)
  23. { }
  24. try
  25. {
  26. dbSet.Add(new UserInfo { id = 3, name = "01234567890123456789" });
  27. Assert.Fail("max length of name should be 10");
  28. }
  29. catch (Exception ex)
  30. { }
  31. }
  32. }
  33. class UserInfo
  34. {
  35. [Key]
  36. public int id { get; set; }
  37. [Required]
  38. [MaxLength(10)]
  39. public string name { get; set; }
  40. }
  41. }
  42. }