public void Deserializes_the_BatchUpdateRecord_json_to_flatten_object()
        {
            var value = Dummy.GetOne();
            var record = new BatchUpdateRecord<Dummy>
            {
                Rid = "#12:1",
                Value = value
            };
            var sut = GetSut();
            var settings = new JsonSerializerSettings();
            settings.Converters.Add(sut);

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

            Assert.Equal("#12:1", result.Rid);
            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_BatchUpdateRecord_flatten()
        {
            var value = Dummy.GetOne();
            var record = new BatchUpdateRecord<Dummy>
            {
                Rid = "#12:1",
                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("#12:1", result["@rid"]);
            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>());
        }