public void JsonWrapperConverterSerializeTest()
        {
            var data = GetSampleData();

            var converter = new JsonWrapperConverter();

            converter.AddWrapper <MyStateWrapper, MyState>();
            converter.AddModel <MyModel>();

            var json     = converter.Serialize(data, data.Model.GetType());
            var restored = converter.Deserialize <MyState>(json);

            Assert.NotNull(restored.Model);
            Assert.True(restored.Model.GetType() == typeof(MyModel));
        }
        public void JsonWrapperConverterPerformanceTest()
        {
            var sw = new Stopwatch();

            sw.Start();
            var converter = new JsonWrapperConverter();

            converter.AddWrapper <MyStateWrapper, MyState>();
            converter.AddModel <MyModel>();

            for (int i = 0; i < 1000000; i++)
            {
                var data     = GetSampleData();
                var json     = converter.Serialize(data, data.Model.GetType());
                var restored = converter.Deserialize <MyState>(json);
            }

            sw.Stop();
            _output.WriteLine($"JsonWrapperConverterPerformanceTest elapsed {sw.ElapsedMilliseconds} ms");
        }