Esempio n. 1
0
            public override bool Equals(object obj)
            {
                if (obj == null)
                {
                    return(false);
                }
                if (!(obj is TestSerialize))
                {
                    return(false);
                }
                TestSerialize ob = (TestSerialize)obj;

                if (ob.Values.Count != this.Values.Count)
                {
                    return(false);
                }
                for (int i = 0; i < ob.Values.Count; i++)
                {
                    if (ob.Values[i] != this.Values[i])
                    {
                        return(false);
                    }
                }
                return(true);
            }
    void BinarySerialize(TestSerialize _testSerialize)
    {
        FileStream      fs = new FileStream(Application.dataPath + "/test.bytes", FileMode.Create, FileAccess.ReadWrite, FileShare.ReadWrite);
        BinaryFormatter bf = new BinaryFormatter();

        bf.Serialize(fs, _testSerialize);
        fs.Close();
    }
    /// <summary>
    /// 二进制的序列化
    /// </summary>
    /// <param name="testSerialize"></param>
    void BinarySerilize(TestSerialize testSerialize)
    {
        FileStream fs = new FileStream(Application.streamingAssetsPath + "/test.byte", FileMode.Create, FileAccess.ReadWrite);

        BinaryFormatter bf = new BinaryFormatter();

        bf.Serialize(fs, testSerialize);
        fs.Close();
    }
    TestSerialize XmlDeSerilize()
    {
        FileStream    fs            = new FileStream(Application.dataPath + "/test.xml", FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite);
        XmlSerializer xs            = new XmlSerializer(typeof(TestSerialize));
        TestSerialize testSerialize = (TestSerialize)xs.Deserialize(fs);

        fs.Close();
        return(testSerialize);
    }
    TestSerialize BinaryDeSerialize()
    {
        TextAsset       textAsset     = UnityEditor.AssetDatabase.LoadAssetAtPath <TextAsset>("Assets/test.bytes");
        MemoryStream    ms            = new MemoryStream(textAsset.bytes);
        BinaryFormatter bf            = new BinaryFormatter();
        TestSerialize   testSerialize = (TestSerialize)bf.Deserialize(ms);

        ms.Close();
        return(testSerialize);
    }
    void XmlSerilize(TestSerialize testSerialize)
    {
        FileStream fileStream = new FileStream(Application.streamingAssetsPath + "/test.xml", FileMode.Create, FileAccess.ReadWrite, FileShare.ReadWrite);

        StreamWriter  streamWriter = new StreamWriter(fileStream, System.Text.Encoding.UTF8);
        XmlSerializer xml          = new XmlSerializer(testSerialize.GetType());

        xml.Serialize(streamWriter, testSerialize);
        streamWriter.Close();
        fileStream.Close();
    }
    void DeSerializeTest()
    {
        TestSerialize testSerialize = XmlDeSerilize();

        Debug.Log(testSerialize.Id);
        Debug.Log(testSerialize.Name);
        for (int i = 0; i < testSerialize.ListTest.Count; i++)
        {
            Debug.Log(testSerialize.ListTest[i]);
        }
    }
    /// <summary>
    /// 类的序列化
    /// </summary>
    void XmlSerilizeTest()
    {
        TestSerialize testSerialize = new TestSerialize();

        testSerialize.Id = 1;

        testSerialize.Name = "test";
        testSerialize.list = new List <int>();
        testSerialize.list.Add(2);
        testSerialize.list.Add(3);
        XmlSerilize(testSerialize);
    }
    //void DesBinarialize()
    //{
    //    // FileStream fs = new FileStream(Application.streamingAssetsPath+"/test.byte",FileMode.Open,FileAccess.ReadWrite);
    //    TextAsset textAsset = UnityEditor.AssetDatabase.LoadAssetAtPath<TextAsset>(Application.dataPath +"/test.byte");
    //    MemoryStream stream = new MemoryStream(textAsset.bytes);

    //    BinaryFormatter bf = new BinaryFormatter();

    //    TestSerialize testSerialize = (TestSerialize)bf.Deserialize(stream);
    //    Debug.Log(testSerialize.Id + testSerialize.Name);
    //    stream.Close();


    //}


    /// <summary>
    /// 反序列化吧XML转成类u
    /// </summary>
    /// <returns></returns>
    TestSerialize XmlDesSerialize()
    {
        FileStream fileStream = new FileStream(Application.streamingAssetsPath + "/test.xml", FileMode.Open, FileAccess.ReadWrite);
        //StreamReader SR = new StreamReader(fileStream,System.Text.Encoding.UTF8);
        XmlSerializer xs            = new XmlSerializer(typeof(TestSerialize));
        TestSerialize testSerialize = (TestSerialize)xs.Deserialize(fileStream);

        fileStream.Close();

        Debug.Log(testSerialize.Id + testSerialize.Name);
        return(testSerialize);
    }
Esempio n. 10
0
    void XmlSerialize(TestSerialize _testSerialize)
    {
        // 1.打开文件流 2.创建写入流 3.创建xml序列化类
        FileStream    fileStream = new FileStream(Application.dataPath + "/test.xml", FileMode.Create, FileAccess.ReadWrite, FileShare.ReadWrite);
        StreamWriter  sw         = new StreamWriter(fileStream, Encoding.UTF8);
        XmlSerializer xml        = new XmlSerializer(_testSerialize.GetType());

        // 把_testSerilize序列化到写入流中
        xml.Serialize(sw, _testSerialize);
        sw.Close();
        fileStream.Close();
    }
Esempio n. 11
0
        public void SetUp()
        {
            serializer = new DataSerializer();
            ts         = new TestSerialize(4);
            ts.i       = 5;
            ts.s       = "xxx";

            TestSerialize2 ts2 = new TestSerialize2();

            ts2.lst.Add("a");

            ts.ts2 = ts2;
        }
Esempio n. 12
0
    void SerializeTest()
    {
        TestSerialize testSerialize = new TestSerialize {
            Id = 1, Name = "测试", ListTest = new List <int> {
                1, 2, 3
            }
        };

        testSerialize.SetPrivateId(999);
        testSerialize.SetPrivateList(888);
        testSerialize.SetPrivateList(777);
        testSerialize.SetPrivateList(666);
        testSerialize.SetPrivateName("神秘人");
//		XmlSerialize(testSerialize);
        BinarySerialize(testSerialize);
    }
Esempio n. 13
0
 protected override void Arrange()
 {
     serializable = new TestSerialize();
     serializable.Items.Add(new TestSerializeItem {
         Id = 1, Name = "Test1"
     });
     serializable.Items.Add(new TestSerializeItem {
         Id = 2, Name = "Test2"
     });
     serializable.Items.Add(new TestSerializeItem {
         Id = 3, Name = "Test3"
     });
     serializable.Items.Add(new TestSerializeItem {
         Id = 4, Name = "Test4"
     });
     serializer = new Xngine.Tools.Commons.Xml.XmlSerializer();
 }
Esempio n. 14
0
        public void OptionFileTests()
        {
            Lib.Options obs = new Lib.Options(filename);

            TestSerialize serl = new TestSerialize();

            for (int i = 0; i < 100; i++)
            {
                serl.Values.Add(i * i);
            }
            obs.serialize("serl", serl);

            List <TestValue> testvals = new List <TestValue>();
            int val = 1;

            testvals.Add(new TestValue(val++, true));
            testvals.Add(new TestValue(val++, false));
            testvals.Add(new TestValue(val++, 12.123123123m));
            testvals.Add(new TestValue(val++, -12.123123123m));
            testvals.Add(new TestValue(val++, @"Hoi!""$""!)§ &(""$)""$)!,.-()//\\|{}[]<>:;"));
            testvals.Add(new TestValue(val++, "Hoi"));
            testvals.Add(new TestValue(val++, 12));

            foreach (TestValue item in testvals)
            {
                obs.set(item.name, item.val);
            }

            obs.saveIfNeeded();

            Lib.Options obsNew = new Lib.Options(filename);
            obsNew.load();

            foreach (TestValue item in testvals)
            {
                if (item.val is bool)
                {
                    Assert.AreEqual(item.val, obsNew.get(item.name.ToString()).BoolValue);
                }
                else if (item.val is int)
                {
                    Assert.AreEqual(item.val, obsNew.get(item.name.ToString()).IntValue);
                }
                else if (item.val is long)
                {
                    Assert.AreEqual(item.val, obsNew.get(item.name.ToString()).LongValue);
                }
                else if (item.val is decimal)
                {
                    Assert.AreEqual(item.val, obsNew.get(item.name.ToString()).DecimalValue);
                }
                else if (item.val is string)
                {
                    Assert.AreEqual(item.val, obsNew.get(item.name.ToString()).Value);
                }
            }


            object de = obs.deserialize("serl");

            Assert.IsNotNull(de);
            Assert.IsTrue(de is TestSerialize);
            TestSerialize deser = (TestSerialize)de;

            Assert.AreEqual(serl, deser);
        }
Esempio n. 15
0
        static void Main(string[] args)
        {
            TestSerialize obj = new TestSerialize();

            obj.TestSerialization();
        }
Esempio n. 16
0
 protected override void Act()
 {
     result = serializer.Deserialize <TestSerialize>(XML_TO_TEST);
 }