예제 #1
0
파일: Program.cs 프로젝트: user135711/Ceras
        static void MemberInfoAndTypeInfoTest()
        {
            var ceras = new CerasSerializer();

            var multipleTypesHolder = new TypeTestClass();

            multipleTypesHolder.Type1 = typeof(Person);
            multipleTypesHolder.Type2 = typeof(Person);
            multipleTypesHolder.Type3 = typeof(Person);

            multipleTypesHolder.Object1 = new Person();
            multipleTypesHolder.Object2 = new Person();
            multipleTypesHolder.Object3 = multipleTypesHolder.Object1;

            multipleTypesHolder.Member = typeof(TypeTestClass).GetMembers().First();
            multipleTypesHolder.Method = typeof(TypeTestClass).GetMethods().First();


            var data = ceras.Serialize(multipleTypesHolder);

            data.VisualizePrint("member info");
            var multipleTypesHolderClone = ceras.Deserialize <TypeTestClass>(data);

            // todo: check object1 .. 3 as well.

            Debug.Assert(multipleTypesHolder.Member.MetadataToken == multipleTypesHolderClone.Member.MetadataToken);
            Debug.Assert(multipleTypesHolder.Method.MetadataToken == multipleTypesHolderClone.Method.MetadataToken);

            Debug.Assert(multipleTypesHolder.Type1 == multipleTypesHolderClone.Type1);
            Debug.Assert(multipleTypesHolder.Type2 == multipleTypesHolderClone.Type2);
            Debug.Assert(multipleTypesHolder.Type3 == multipleTypesHolderClone.Type3);
        }
예제 #2
0
        public void DefaultTypeTest()
        {
            var testClass     = new TypeTestClass();
            var defaultInt    = TypeExtensions.DefaultValue <int>();
            var defaultString = TypeExtensions.DefaultValue <string>();
            var defaultClass  = TypeExtensions.DefaultValue <TypeTestClass>();

            Assert.AreEqual(testClass.DefaultInt, defaultInt);
            Assert.AreEqual(defaultString, testClass.DefaultStr);
            Assert.AreEqual(defaultClass, testClass.DefaultClass);

            Assert.AreEqual(typeof(int).DefaultValue(), testClass.DefaultInt);
            Assert.AreEqual(typeof(string).DefaultValue(), testClass.DefaultStr);
            Assert.AreEqual(typeof(TypeTestClass).DefaultValue(), testClass.DefaultClass);
        }