コード例 #1
0
        public void TestTransaction2()
        {
            TestMember m = new TestMember()
            {
                Hehe = DateTime.Now.AddDays(12)
            };

            _ps.Save(m);

            IPersistenceService ps2         = new EFPersistenceService();
            ITransactionService ts2         = (ITransactionService)ps2;
            TestMember          mConcurrent = ps2.GetById <TestMember, int>(m.ID);

            Assert.AreNotSame(m, mConcurrent);
            var mts = ts2.ExecuteInTransaction(() =>
            {
                mConcurrent.Hehe = DateTime.Today.AddDays(20);
                ps2.Update(mConcurrent);
                return(true);
            });

            Assert.AreNotSame(m, mConcurrent);
            try
            {
                m.Hehe = DateTime.Now.AddMinutes(5);
                _ps.Update(m);
                Assert.Fail();
            }
            catch (Exception e)
            {
                Assert.AreEqual(typeof(DbUpdateConcurrencyException), e.GetType());
            }
        }
コード例 #2
0
        public void TestMethodQuery()
        {
            TestMember m = new TestMember()
            {
                Hehe = DateTime.Today
            };
            TestMember m2 = new TestMember()
            {
                Hehe = DateTime.Today.AddDays(2)
            };
            TestMember m3 = new TestMember()
            {
                Hehe = DateTime.Today
            };
            TestMember m4 = new TestMember()
            {
                Hehe = DateTime.Today
            };
            var res = _ps.SaveAll(new[] { m, m2, m3, m4 }.ToList());

            var query     = _ps.Query <TestMember>().Where(x => DateTime.Compare(x.Hehe, DateTime.Today) == 0).ToList();
            var linqQuery = from tm in _ps.Query <TestMember>()
                            where DateTime.Compare(tm.Hehe, DateTime.Today) == 0
                            select tm;

            Assert.AreEqual(3, query.Count);
            Assert.AreEqual(m, linqQuery.First());
        }
コード例 #3
0
        public void TestTransaction()
        {
            TestMember m = new TestMember()
            {
                Hehe = DateTime.Now
            };

            _ps.Save(m);

            IPersistenceService ps2         = new NHibernateService();
            ITransactionService ts2         = (ITransactionService)ps2;
            TestMember          mConcurrent = ps2.GetById <TestMember, int>(m.ID);

            Assert.AreNotSame(m, mConcurrent);
            ts2.ExecuteInTransaction(() =>
            {
                mConcurrent.Hehe = DateTime.Today.AddDays(20);
            });
            Assert.AreNotSame(m, mConcurrent);
            try
            {
                m.Hehe = DateTime.Now.AddMinutes(5);
                _ps.Save(m);
                Assert.Fail();
            }
            catch (Exception e)
            {
                Assert.AreEqual(typeof(StaleObjectStateException), e.GetType());
            }
        }
コード例 #4
0
        public void TestMethodQuery()
        {
            TestMember m = new TestMember()
            {
                Hehe = DateTime.Now
            };
            TestMember m2 = new TestMember()
            {
                Hehe = DateTime.Today.AddDays(2)
            };
            TestMember m3 = new TestMember()
            {
                Hehe = DateTime.Now
            };
            TestMember m4 = new TestMember()
            {
                Hehe = DateTime.Now
            };
            var res = _ps.SaveAll(new[] { m, m2, m3, m4 });

            var query     = _ps.Query <TestMember>().Where(x => x.Hehe == DateTime.Today.AddDays(2)).ToList();
            var linqQuery = from tm in _ps.Query <TestMember>()
                            where tm.Hehe == DateTime.Today.AddDays(2)
                            select tm;

            Assert.AreEqual(1, query.Count);
            Assert.AreEqual(m2, linqQuery.First());
        }
コード例 #5
0
        public void TestMethodSave()
        {
            TestMember m = new TestMember()
            {
                Hehe = DateTime.Now
            };

            _ps.Save(m);
            Assert.IsTrue(m.ID != 0);
        }
コード例 #6
0
        public void TestMethodGetById()
        {
            TestMember m = new TestMember()
            {
                Hehe = DateTime.Now
            };

            _ps.Save(m);
            TestMember res = _ps.GetById <TestMember, int>(m.ID);

            Assert.AreEqual(m, res);
            Assert.AreSame(m, res);
        }
コード例 #7
0
        public void TestMethodDelete()
        {
            TestMember m = new TestMember()
            {
                Hehe = DateTime.Now
            };

            _ps.Save(m);
            int id = m.ID;

            _ps.Delete(m);
            Assert.IsTrue(null == _ps.GetById <TestMember, int>(id));
        }
コード例 #8
0
        public void TestMethodSaveAll()
        {
            TestMember m = new TestMember()
            {
                Hehe = DateTime.Now
            };
            TestMember m2 = new TestMember()
            {
                Hehe = DateTime.Now
            };
            TestMember m3 = new TestMember()
            {
                Hehe = DateTime.Now
            };
            TestMember m4 = new TestMember()
            {
                Hehe = DateTime.Now
            };
            var res = _ps.SaveAll(new[] { m, m2, m3, m4 }.ToList());

            res.ForEach(x => Assert.IsTrue(x.ID != 0));
        }
コード例 #9
0
        public void TestMethodGetAll()
        {
            TestMember m = new TestMember()
            {
                Hehe = DateTime.Now
            };
            TestMember m2 = new TestMember()
            {
                Hehe = DateTime.Now
            };
            TestMember m3 = new TestMember()
            {
                Hehe = DateTime.Now
            };
            TestMember m4 = new TestMember()
            {
                Hehe = DateTime.Now
            };
            var res = _ps.SaveAll(new[] { m, m2, m3, m4 }.ToList());
            var all = _ps.GetAll <TestMember>();

            res.ForEach(elem => Assert.IsTrue(all.Contains(elem)));
        }