public void Deserializes_the_BatchCreateRecord_json_to_flatten_object()
        {
            var value = Dummy.GetOne();
            var record = new BatchCreateRecord<Dummy>
            {
                Value = value
            };
            var sut = GetSut();
            var settings = new JsonSerializerSettings();
            settings.Converters.Add(sut);

            var json = JsonConvert.SerializeObject(record, settings);
            var result = JsonConvert.DeserializeObject<FlattenClassDummy>(json);

            Assert.Equal("Dummy", result.Class);
            Assert.Equal(value.DateTimeValue, result.DateTimeValue);
            Assert.Equal(value.GuidValue, result.GuidValue);
            Assert.Equal(value.IntValue, result.IntValue);
            Assert.Equal(value.LongValue, result.LongValue);
            Assert.Equal(value.StringValue, result.StringValue);
        }
        public void Serializes_the_BatchCreateRecord_flatten()
        {
            var value = Dummy.GetOne();
            var record = new BatchCreateRecord<Dummy>
            {
                Value = value
            };
            var sut = GetSut();
            var settings = new JsonSerializerSettings();
            settings.Converters.Add(sut);

            var json = JsonConvert.SerializeObject(record, settings);
            var result = JObject.Parse(json);

            Assert.Equal("Dummy", result["@class"]);
            Assert.Equal(value.DateTimeValue, result["DateTimeValue"].Value<DateTime>());
            Assert.Equal(value.GuidValue, (Guid)result["GuidValue"].ToObject(typeof(Guid)));
            Assert.Equal(value.IntValue, result["IntValue"].Value<int>());
            Assert.Equal(value.LongValue, result["LongValue"].Value<long>());
            Assert.Equal(value.StringValue, result["StringValue"].Value<string>());
        }