Пример #1
0
        public void SerializeComplexType()
        {
            var store = new KeyDataStore();
            var obj   = new CustomTestClass2 {
                floatValue = 3.14f, intValue = 7, name = "test object", objectValue = new CustomTestClass1 {
                    name = "sub object", intValue = 14, floatValue = .99999f
                }
            };

            obj.listValue = new List <CustomTestClass1> {
                new CustomTestClass1 {
                    name = "list item 1", intValue = 33, floatValue = .234534f
                }
            };
            store.SetData("obj", obj);
            store.OnBeforeSerialize();
            store.OnAfterDeserialize();
            var v = store.GetData <CustomTestClass2>("obj", null);

            Assert.AreEqual(obj.name, v.name);
            Assert.AreEqual(obj.intValue, v.intValue);
            Assert.AreEqual(obj.floatValue, v.floatValue);
            Assert.AreEqual(v.objectValue.name, obj.objectValue.name);
            Assert.AreEqual(v.objectValue.intValue, obj.objectValue.intValue);
            Assert.AreEqual(v.objectValue.floatValue, obj.objectValue.floatValue);
            Assert.AreEqual(v.listValue[0].name, obj.listValue[0].name);
            Assert.AreEqual(v.listValue[0].intValue, obj.listValue[0].intValue);
            Assert.AreEqual(v.listValue[0].floatValue, obj.listValue[0].floatValue);
        }
Пример #2
0
        public void Serialize <T>(T val)
        {
            var store = new KeyDataStore();

            store.SetData("key", val);
            store.OnBeforeSerialize();
            store.OnAfterDeserialize();
            var v = store.GetData("key", default(T));

            Assert.AreEqual(val, v);
        }