public void TestHashCreate_Serializable() { using (new RedisTestKeys(Redis, "test")) { var obj = new RedisSerializableTest { StringField = "mystring", IntField = 999, NullField = null, DateTimeField = DateTime.Now, ObjectField = new RedisSerializableTest { StringField = "inner", IntField = -999, NullField = null, DateTimeField = DateTime.Now + TimeSpan.FromDays(1), }, }; Assert.AreEqual("OK", Redis.HMSet("test", obj)); var redis_obj = Redis.HGetAll <RedisSerializableTest>("test"); Assert.AreEqual(obj.StringField, redis_obj.StringField); Assert.AreEqual(obj.IntField, redis_obj.IntField); Assert.AreEqual(obj.NullField, redis_obj.NullField); Assert.AreEqual(obj.DateTimeField.ToString(), redis_obj.DateTimeField.ToString()); Assert.AreEqual(obj.ObjectField.StringField, redis_obj.ObjectField.StringField); Assert.AreEqual(obj.ObjectField.IntField, redis_obj.ObjectField.IntField); Assert.AreEqual(obj.ObjectField.NullField, redis_obj.ObjectField.NullField); Assert.AreEqual(obj.ObjectField.DateTimeField.ToString(), redis_obj.ObjectField.DateTimeField.ToString()); } using (new RedisTestKeys(Redis, "test")) { var obj = Redis.HGetAll <RedisSerializableTest>("test"); Assert.IsNull(obj); } }
public RedisSerializableTest(SerializationInfo info, StreamingContext context) { ObjectField = new RedisSerializableTest(); foreach (var item in info) { switch (item.Name) { case "str": StringField = info.GetString(item.Name); break; case "int": IntField = info.GetInt32(item.Name); break; case "null": NullField = info.GetString(item.Name); break; case "date": DateTimeField = info.GetDateTime(item.Name); break; case "obj.str": ObjectField.StringField = info.GetString(item.Name); break; case "obj.int": ObjectField.IntField = info.GetInt32(item.Name); break; case "obj.date": ObjectField.DateTimeField = info.GetDateTime(item.Name); break; } } }
public void TestHashCreate_Serializable() { using (new RedisTestKeys(Redis, "test")) { var obj = new RedisSerializableTest { StringField = "mystring", IntField = 999, NullField = null, DateTimeField = DateTime.Now, ObjectField = new RedisSerializableTest { StringField = "inner", IntField = -999, NullField = null, DateTimeField = DateTime.Now + TimeSpan.FromDays(1), }, }; Assert.AreEqual("OK", Redis.HMSet("test", obj)); var redis_obj = Redis.HGetAll<RedisSerializableTest>("test"); Assert.AreEqual(obj.StringField, redis_obj.StringField); Assert.AreEqual(obj.IntField, redis_obj.IntField); Assert.AreEqual(obj.NullField, redis_obj.NullField); Assert.AreEqual(obj.DateTimeField.ToString(), redis_obj.DateTimeField.ToString()); Assert.AreEqual(obj.ObjectField.StringField, redis_obj.ObjectField.StringField); Assert.AreEqual(obj.ObjectField.IntField, redis_obj.ObjectField.IntField); Assert.AreEqual(obj.ObjectField.NullField, redis_obj.ObjectField.NullField); Assert.AreEqual(obj.ObjectField.DateTimeField.ToString(), redis_obj.ObjectField.DateTimeField.ToString()); } using (new RedisTestKeys(Redis, "test")) { var obj = Redis.HGetAll<RedisSerializableTest>("test"); Assert.IsNull(obj); } }