public void ser_deser_datetimenullable_dateset() { var obj = new DateTimeNullable() { Id = "my_id", NullableDateTime = DateTime.Parse("10/30/2013 4:55 PM") }; var truth = new Datum { type = Datum.DatumType.R_OBJECT }; truth.r_object.Add(new Datum.AssocPair { key = "Id", val = new Datum { type = Datum.DatumType.R_STR, r_str = "my_id" } }); truth.r_object.Add(new Datum.AssocPair { key = "NullableDateTime", val = new Datum { type = Datum.DatumType.R_OBJECT, r_object = { new Datum.AssocPair { key = "$reql_type$", val = new Datum{ type = Datum.DatumType.R_STR, r_str = "TIME" } }, new Datum.AssocPair { key = "epoch_time", val = new Datum{ type = Datum.DatumType.R_NUM, r_num = 1383152100 } }, new Datum.AssocPair { key = "timezone", val = new Datum{ type = Datum.DatumType.R_STR, r_str = "+00:00" } }, } } }); //ser test var ser = DatumConvert.SerializeObject(obj); ser.ShouldBeEquivalentTo(truth); //deser test var newtonObj = DatumConvert.DeserializeObject <DateTimeNullable>(truth); newtonObj.ShouldBeEquivalentTo(obj); }
public void ser_deser_datetimenullable_nullset() { var obj = new DateTimeNullable() { Id = "my_id", NullableDateTime = null }; var truth = new Datum { type = Datum.DatumType.R_OBJECT }; truth.r_object.Add(new Datum.AssocPair { key = "Id", val = new Datum { type = Datum.DatumType.R_STR, r_str = "my_id" } }); truth.r_object.Add(new Datum.AssocPair { key = "NullableDateTime", val = new Datum { type = Datum.DatumType.R_NULL, } }); //ser test var ser = DatumConvert.SerializeObject(obj); ser.ShouldBeEquivalentTo(truth); //deser test var newtonObj = DatumConvert.DeserializeObject <DateTimeNullable>(truth); newtonObj.ShouldBeEquivalentTo(obj); }