예제 #1
0
        public void TestClass()
        {
            var item = new TestSerializeClass
            {
                IntValue     = 5,
                DecimalValue = 5.5M,
                StringValue  = "bla bla",
                ClassValue   = new TestSerializeClass
                {
                    IntValue     = 25,
                    DecimalValue = 25.25M,
                    StringValue  = "bla bla bla"
                }
            };
            var buffer = (byte[])null;

            using (var stream = new MemoryStream())
            {
                Serialization.Serialize(item, stream);
                buffer = stream.ToArray();
            }
#if DEBUG
            PrintBuffer(buffer);
#endif
            using (var stream = new MemoryStream(buffer))
            {
                var newItem = Serialization.Deserialize(stream);
                Assert.IsInstanceOf <TestSerializeClass>(newItem, "Deserialization Fail");
                Assert.AreEqual(item.IntValue, ((TestSerializeClass)newItem).IntValue, "Deserialization Fail");
                Assert.AreEqual(item.DecimalValue, ((TestSerializeClass)newItem).DecimalValue, "Deserialization Fail");
                Assert.AreEqual(item.StringValue, ((TestSerializeClass)newItem).StringValue, "Deserialization Fail");
                Assert.AreEqual(item.ClassValue.StringValue, ((TestSerializeClass)newItem).ClassValue.StringValue, "Deserialization Fail");
            }
        }
예제 #2
0
        private async void SaveClick(object sender, RoutedEventArgs e)
        {
            var data = new TestSerializeClass();

            data.StringData = stringData.Text;

            int tempInt;

            int.TryParse(intData.Text, out tempInt);
            data.IntData = tempInt;

            //if (dateTimeData.Value != null)
            //	data.DateTimeData = dateTimeData.Value.Value;

            //if (timeSpanData.Value != null)
            //	data.TimeSpanData = timeSpanData.Value.Value;

            data.DateTimeData = DateTime.Now;
            data.TimeSpanData = DateTime.Now.Subtract(DateTime.Today);

            await Serializer.Save(MyDataFileName, data);

            var msg = new MessageDialog("Saved");
            await msg.ShowAsync();

            //var prompt = new MessagePrompt { Title = "", Message = "data saved" };
            //prompt.Show();
        }
예제 #3
0
        private void SaveClick(object sender, RoutedEventArgs e)
        {
            var data = new TestSerializeClass();

            data.StringData = stringData.Text;

            int tempInt;

            int.TryParse(intData.Text, out tempInt);
            data.IntData = tempInt;

            if (dateTimeData.Value != null)
            {
                data.DateTimeData = dateTimeData.Value.Value;
            }

            if (timeSpanData.Value != null)
            {
                data.TimeSpanData = timeSpanData.Value.Value;
            }

            Serializer.Save(MyDataFileName, data);

            var prompt = new MessagePrompt {
                Title = "Saved", Message = "data saved"
            };

            prompt.Show();
        }
예제 #4
0
        public void TestSerializeDeserialize()
        {
            var t = new TestSerializeClass();

            t.Number     = 3.14159265358979323846264f;
            t.Text       = "Hellow";
            t.Color      = Color.Yellow;
            t.FloatArray = new float[] { 1, 1, 2, 3, 5, 8, 13 };
            t.FloatList  = new List <float>();
            t.FloatList.AddRange(t.FloatArray);
            t.Enum = FileAccess.ReadWrite;
            t.Null = null;


            t.NumberProperty = 42;

            t.Position    = new Vector3(1, 2, 3);
            t.NestedClass = new TestSerializeNestedClass {
                Getal = 113
            };



            var serializer = new TWXmlSerializer <TestSerializeClass>();

            string path = TWDir.Test.CreateSubdirectory("XmlTest") + "\\Test.xml";

            using (var fs = File.Open(path, FileMode.Create, FileAccess.Write, FileShare.Delete))
            {
                serializer.Serialize(t, fs);
            }

            var tRead = new TestSerializeClass();

            using (var fs = File.Open(path, FileMode.Open, FileAccess.Read, FileShare.Read))
            {
                serializer.Deserialize(tRead, fs);
            }

            Assert.AreEqual(t, tRead);
        }
예제 #5
0
 public bool Equals(TestSerializeClass other)
 {
     if (ReferenceEquals(null, other))
     {
         return(false);
     }
     if (ReferenceEquals(this, other))
     {
         return(true);
     }
     return(Math.Abs(other.Number - Number) < 0.0001 &&
            Equals(other.Text, Text) &&
            other.Color.Equals(Color) &&
            other.FloatArray.SequenceEqual(FloatArray) &&
            other.FloatList.SequenceEqual(FloatList) &&
            Equals(other.Enum, Enum) &&
            Equals(other.Null, Null) &&
            other.Position.Equals(Position) &&
            Equals(other.NestedClass, NestedClass) &&
            other.NumberProperty.Equals(NumberProperty) &&
            other.NumberPropertyReadonly.Equals(NumberPropertyReadonly) &&
            other.privateField.Equals(privateField));
 }
 public TestMakeClass2(TestSerializeClass cls)
 {
 }
 public TestMakeHandClass(TestSerializeClass cls)
 {
 }
예제 #8
0
 public void Deserialize(ISerializeReader reader)
 {
     ToSerialize = reader.Read(ToSerialize) as TestSerializeClass;
 }