public void WhenDeserializationError_Throws()
        {
            {
                var o  = new SimpleObj("1");
                var pm = CreatePersistenceManager();
                pm.LoadAndStartTracking(o);
                o.Data = "test";
                pm.SaveAll();
            }

            {
                var oInt = new SimpleObjWithIntData("1");
                var pm   = CreatePersistenceManager();
                Assert.Throws <JsonReaderException>(() => pm.LoadAndStartTracking(oInt));
            }
        }
        public void CustomErrorHandlerOverrides()
        {
            {
                var o  = new SimpleObj("1");
                var pm = CreatePersistenceManager();
                pm.LoadAndStartTracking(o);
                o.Data = "test";
                pm.SaveAll();
            }

            {
                //bool invoked = false;
                var oInt     = new SimpleObjWithIntData("1");
                var strategy = new CustomErrorHandlingStrategy();
                var ss       = new JsonSerializationStrategy()
                {
                    ErrorStrategy = strategy
                };
                var pm = CreatePersistenceManager(ss);
                pm.LoadAndStartTracking(oInt);
                Expect(oInt.Data, EqualTo(SimpleObjWithIntData.DataDefaultValue));
                Expect(strategy.Invoked, True);
            }
        }