public virtual void TestTypeHandler()
 {
     _typeHandler = new ItemTypeHandler();
     Store(new Item(42));
     AssertTypeHandlerCalls(1, 0);
     var item = RetrieveOnlyItemInstance();
     Assert.AreEqual(42, item._id);
     AssertTypeHandlerCalls(0, 1);
     UpdateItem();
     AssertTypeHandlerCalls(1, 1);
 }
        public virtual void TestTypeHandler()
        {
            _typeHandler = new ItemTypeHandler();
            Store(new Item(42));
            AssertTypeHandlerCalls(1, 0);
            var item = RetrieveOnlyItemInstance();

            Assert.AreEqual(42, item._id);
            AssertTypeHandlerCalls(0, 1);
            UpdateItem();
            AssertTypeHandlerCalls(1, 1);
        }
 public virtual void TestMigration()
 {
     _typeHandler = null;
     Store(new Item(42));
     var item = RetrieveOnlyItemInstance();
     Assert.AreEqual(42, item._id);
     AssertItemStoredField(42);
     _typeHandler = new ItemTypeHandler();
     item = RetrieveOnlyItemInstance();
     Assert.AreEqual(42, item._id);
     AssertTypeHandlerCalls(0, 0);
     AssertItemStoredField(42);
     UpdateItem();
     AssertTypeHandlerCalls(1, 0);
     AssertItemStoredField(null);
     item = RetrieveOnlyItemInstance();
     Assert.AreEqual(42, item._id);
     AssertTypeHandlerCalls(0, 1);
     AssertItemStoredField(null);
 }
        public virtual void TestMigration()
        {
            _typeHandler = null;
            Store(new Item(42));
            var item = RetrieveOnlyItemInstance();

            Assert.AreEqual(42, item._id);
            AssertItemStoredField(42);
            _typeHandler = new ItemTypeHandler();
            item         = RetrieveOnlyItemInstance();
            Assert.AreEqual(42, item._id);
            AssertTypeHandlerCalls(0, 0);
            AssertItemStoredField(42);
            UpdateItem();
            AssertTypeHandlerCalls(1, 0);
            AssertItemStoredField(null);
            item = RetrieveOnlyItemInstance();
            Assert.AreEqual(42, item._id);
            AssertTypeHandlerCalls(0, 1);
            AssertItemStoredField(null);
        }