public void DeleteRandomValues()
        {
            int count = DataUtil.CountRows("NullableDateTimes");

            ObjectTransaction          transaction1 = manager.BeginTransaction();
            NullableDateTimeTestObject test1        = transaction1.Create(typeof(NullableDateTimeTestObject)) as NullableDateTimeTestObject;

            test1.Date      = DateTime.Today.AddDays(-30);
            test1.SmallDate = DateTime.Today.AddMonths(1);

            transaction1.Commit();

            Assert.AreEqual(count + 1, DataUtil.CountRows("NullableDateTimes"));

            ObjectTransaction          transaction2 = manager.BeginTransaction();
            NullableDateTimeTestObject test2        = transaction2.Select(typeof(NullableDateTimeTestObject), test1.Id) as NullableDateTimeTestObject;

            Assert.AreEqual(DateTime.Today.AddDays(-30), test2.Date);
            Assert.AreEqual(DateTime.Today.AddMonths(1), test2.SmallDate);

            transaction2.Delete(test2);
            transaction2.Commit();

            Assert.AreEqual(count, DataUtil.CountRows("NullableDateTimes"));
        }
        public void UpdateValues()
        {
            int count = DataUtil.CountRows("NullableDateTimes");

            ObjectTransaction transaction = manager.BeginTransaction();

            NullableDateTimeTestObject test1 = transaction.Select(typeof(NullableDateTimeTestObject), UpdateValue) as NullableDateTimeTestObject;

            Assert.AreEqual(new DateTime(2003, 10, 23), test1.Date);
            Assert.AreEqual(new DateTime(2003, 10, 23), test1.SmallDate);

            test1.Date      = test1.Date.AddDays(-6);
            test1.SmallDate = test1.SmallDate.AddYears(1);

            transaction.Commit();

            Assert.AreEqual(count, DataUtil.CountRows("NullableDateTimes"));

            ObjectTransaction          transaction2 = manager.BeginTransaction();
            NullableDateTimeTestObject test2        = transaction2.Select(typeof(NullableDateTimeTestObject), UpdateValue) as NullableDateTimeTestObject;

            Assert.AreEqual(new DateTime(2003, 10, 17), test2.Date);
            Assert.AreEqual(new DateTime(2004, 10, 23), test2.SmallDate);

            Assert.AreEqual(count, DataUtil.CountRows("NullableDateTimes"));
        }
        public void SelectNonExistantValues()
        {
            int count = DataUtil.CountRows("NullableDateTimes");

            ObjectTransaction transaction = manager.BeginTransaction();

            NullableDateTimeTestObject test = transaction.Select(typeof(NullableDateTimeTestObject), DoesNotExistValues) as NullableDateTimeTestObject;

            Assert.IsNull(test);

            Assert.AreEqual(count, DataUtil.CountRows("NullableDateTimes"));
        }
        public void CreateNullValues()
        {
            int count = DataUtil.CountRows("NullableDateTimes");

            ObjectTransaction transaction = manager.BeginTransaction();

            NullableDateTimeTestObject test = transaction.Create(typeof(NullableDateTimeTestObject)) as NullableDateTimeTestObject;

            Assert.AreEqual(new DateTime(2004, 1, 1), test.Date);
            Assert.AreEqual(new DateTime(1981, 7, 11), test.SmallDate);

            Assert.AreEqual(count, DataUtil.CountRows("NullableDateTimes"));
        }
        public void SelectMinValues()
        {
            int count = DataUtil.CountRows("NullableDateTimes");

            ObjectTransaction transaction = manager.BeginTransaction();

            NullableDateTimeTestObject test = transaction.Select(typeof(NullableDateTimeTestObject), MinValues) as NullableDateTimeTestObject;

            Assert.AreEqual(new Guid(MinValues), test.Id);
            Assert.AreEqual(new DateTime(1753, 1, 1), test.Date);
            Assert.AreEqual(new DateTime(1900, 1, 1), test.SmallDate);

            Assert.AreEqual(count, DataUtil.CountRows("NullableDateTimes"));
        }
        public void InsertRandomValues()
        {
            int count = DataUtil.CountRows("NullableDateTimes");

            ObjectTransaction transaction = manager.BeginTransaction();

            NullableDateTimeTestObject test = transaction.Create(typeof(NullableDateTimeTestObject)) as NullableDateTimeTestObject;

            test.Date      = DateTime.Now.AddDays(1);
            test.SmallDate = DateTime.Now.AddDays(-1);

            transaction.Commit();

            Assert.AreEqual(count + 1, DataUtil.CountRows("NullableDateTimes"));
        }
        public void SelectNullValues()
        {
            int count = DataUtil.CountRows("NullableDateTimes");

            Assert.IsTrue(DataUtil.IsRowNull("NullableDateTimes", "id", NullValues));

            ObjectTransaction transaction = manager.BeginTransaction();

            NullableDateTimeTestObject test = transaction.Select(typeof(NullableDateTimeTestObject), NullValues) as NullableDateTimeTestObject;

            Assert.AreEqual(new Guid(NullValues), test.Id);
            Assert.AreEqual(new DateTime(2004, 1, 1), test.Date);
            Assert.AreEqual(new DateTime(1981, 7, 11), test.SmallDate);

            Assert.AreEqual(count, DataUtil.CountRows("NullableDateTimes"));
        }
        public void InsertNullImplicitValues()
        {
            int count = DataUtil.CountRows("NullableDateTimes");

            ObjectTransaction transaction1 = manager.BeginTransaction();

            NullableDateTimeTestObject test1 = transaction1.Create(typeof(NullableDateTimeTestObject)) as NullableDateTimeTestObject;

            transaction1.Commit();

            Assert.IsTrue(DataUtil.IsRowNull("NullableDateTimes", "id", test1.Id));
            Assert.AreEqual(count + 1, DataUtil.CountRows("NullableDateTimes"));

            ObjectTransaction transaction2 = manager.BeginTransaction();

            NullableDateTimeTestObject test2 = transaction2.Select(typeof(NullableDateTimeTestObject), test1.Id) as NullableDateTimeTestObject;

            Assert.AreEqual(new DateTime(2004, 1, 1), test2.Date);
            Assert.AreEqual(new DateTime(1981, 7, 11), test2.SmallDate);
        }