1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- using System.ComponentModel.DataAnnotations;
- using System.ComponentModel.DataAnnotations.Schema;
- using System.Data;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
- namespace Vitorm.MsTest.CommonTest
- {
- [TestClass]
- public class Property_Bool_Test
- {
- [TestMethod]
- public void Test()
- {
- using var dbContext = DataSource.CreateDbContextForWriting();
- // #1 Init
- var name = Guid.NewGuid().ToString();
- var dbSet = dbContext.DbSet<MyUser>();
- dbSet.TryDropTable();
- dbSet.TryCreateTable();
- dbSet.Add(new MyUser { id = 1, enable = true, isEven = null });
- dbSet.Add(new MyUser { id = 2, enable = true, isEven = true });
- dbSet.Add(new MyUser { id = 3, enable = false, isEven = false });
- DataSource.WaitForUpdate();
- // #2 Assert
- {
- var user = dbSet.Query().Where(m => m.enable == true).OrderBy(m => m.id).First();
- Assert.AreEqual(1, user.id);
- }
- {
- var user = dbSet.Query().Where(m => m.enable == false).OrderBy(m => m.id).First();
- Assert.AreEqual(3, user.id);
- }
- {
- var user = dbSet.Query().Where(m => m.enable).OrderBy(m => m.id).First();
- Assert.AreEqual(1, user.id);
- }
- {
- var user = dbSet.Query().Where(m => !m.enable).OrderBy(m => m.id).First();
- Assert.AreEqual(3, user.id);
- }
- {
- var user = dbSet.Query().Where(m => m.isEven == null).OrderBy(m => m.id).First();
- Assert.AreEqual(1, user.id);
- }
- {
- var user = dbSet.Query().Where(m => m.isEven == true).OrderBy(m => m.id).First();
- Assert.AreEqual(2, user.id);
- }
- {
- var user = dbSet.Query().Where(m => m.isEven == false).OrderBy(m => m.id).First();
- Assert.AreEqual(3, user.id);
- }
- //{
- // var user = dbSet.Query().Where(m => m.isEven.Value).OrderBy(m => m.id).First();
- // Assert.AreEqual(2, user.id);
- //}
- //{
- // var user = dbSet.Query().Where(m => !m.isEven.Value).OrderBy(m => m.id).First();
- // Assert.AreEqual(3, user.id);
- //}
- {
- var query = dbSet.Query().Where(m => m.isEven == true).OrderBy(m => m.isEven).Select(m => new { m.id, m.isEven });
- var users = query.ToList();
- var user = users.First();
- Assert.AreEqual(2, user.id);
- Assert.AreEqual(true, user.isEven);
- }
- }
- // Entity
- [Table("MyUser")]
- public class MyUser
- {
- [Key]
- public int id { get; set; }
- public bool? isEven { get; set; }
- public bool enable { get; set; }
- }
- }
- }
|