Ejemplo n.º 1
0
        private static string Format(Apf a)
        {
            string s = "[" + a.GetType().Name + "]";

            if (a.list == null)
            {
                return(s + " null");
            }
            s += " " + a.list.Count;
            foreach (var b in a.list)
            {
                s += "\n\t" + Format(b);
            }
            return(s);
        }
Ejemplo n.º 2
0
        private static void Deserialize(byte[] b, TextWriter dest)
        {
            MemoryStream mspp = new MemoryStream(b);
            MemoryStream mspf = new MemoryStream(b);
            MemoryStream msfp = new MemoryStream(b);
            MemoryStream msff = new MemoryStream(b);
            App          app  = Serializer.Deserialize <App>(mspp);
            Apf          apf  = Serializer.Deserialize <Apf>(mspf);
            Afp          afp  = Serializer.Deserialize <Afp>(msfp);
            Aff          aff  = Serializer.Deserialize <Aff>(msff);

            dest.WriteLine(Format(app));
            dest.WriteLine(Format(apf));
            dest.WriteLine(Format(afp));
            dest.WriteLine(Format(aff));
        }
Ejemplo n.º 3
0
        public static void Deserialize(TypeModel model, byte[] b, TextWriter dest)
        {
            MemoryStream mspp = new MemoryStream(b);
            MemoryStream mspf = new MemoryStream(b);
            MemoryStream msfp = new MemoryStream(b);
            MemoryStream msff = new MemoryStream(b);
            App          app  = model.Deserialize <App>(mspp);
            Apf          apf  = model.Deserialize <Apf>(mspf);
            Afp          afp  = model.Deserialize <Afp>(msfp);
            Aff          aff  = model.Deserialize <Aff>(msff);

            dest.WriteLine(Format(app));
            dest.WriteLine(Format(apf));
            dest.WriteLine(Format(afp));
            dest.WriteLine(Format(aff));
        }
Ejemplo n.º 4
0
        public void Execute()
        {
            //Test Data
            App app = new App();
            Apf apf = new Apf();
            Afp afp = new Afp();
            Aff aff = new Aff();
            Bp  bp1 = new Bp()
            {
                a = "b1"
            };
            Bp bp2 = new Bp()
            {
                a = "b2"
            };
            Bf bf1 = new Bf()
            {
                a = "b1"
            };
            Bf bf2 = new Bf()
            {
                a = "b2"
            };

            bp1.b = new List <string>();
            bp2.b = new List <string>();
            bf1.b = new List <string>();
            bf2.b = new List <string>();
            bp1.b.Add("a");
            bp2.b.Add("b");
            bf1.b.Add("a");
            bf2.b.Add("b");
            app.list.Add(bp1);
            app.list.Add(bp2);
            apf.list.Add(bf1);
            apf.list.Add(bf2);
            afp.list.Add(bp1);
            afp.list.Add(bp2);
            aff.list.Add(bf1);
            aff.list.Add(bf2);

            using StringWriter before = new StringWriter();
            before.WriteLine(Format(app));
            before.WriteLine(Format(apf));
            before.WriteLine(Format(afp));
            before.WriteLine(Format(aff));

            //Serialize
            MemoryStream mspp = new MemoryStream();
            MemoryStream mspf = new MemoryStream();
            MemoryStream msfp = new MemoryStream();
            MemoryStream msff = new MemoryStream();

            Serializer.Serialize(mspp, app);
            Serializer.Serialize(mspf, apf);
            Serializer.Serialize(msfp, afp);
            Serializer.Serialize(msff, aff);

            //Compare binary data
            byte[] bpp = mspp.ToArray();
            byte[] bpf = mspf.ToArray();
            byte[] bfp = msfp.ToArray();
            byte[] bff = msff.ToArray();

            Assert.Equal(18, bpp.Length);

            if (bpp.Length != bpf.Length)
            {
                throw new InvalidDataException("Length does not match");
            }
            if (bpf.Length != bff.Length)
            {
                throw new InvalidDataException("Length does not match");
            }
            if (bff.Length != bfp.Length)
            {
                throw new InvalidDataException("Length does not match");
            }
            for (int n = 0; n < bpp.Length; n++)
            {
                if (bpp[n] != bpf[n] || bpf[n] != bff[n] || bff[n] != bfp[n])
                {
                    throw new InvalidDataException("Data does not match");
                }
            }

            //Deserialize
            StringWriter after = new StringWriter();

            Deserialize(bpp, after);

            Assert.Equal(before.ToString(), after.ToString());
        }
Ejemplo n.º 5
0
        public void Execute()
        {
            //Test Data
            App app = new App();
            Apf apf = new Apf();
            Afp afp = new Afp();
            Aff aff = new Aff();
            Bp bp1 = new Bp() { a = "b1" };
            Bp bp2 = new Bp() { a = "b2" };
            Bf bf1 = new Bf() { a = "b1" };
            Bf bf2 = new Bf() { a = "b2" };
            bp1.b = new List<string>();
            bp2.b = new List<string>();
            bf1.b = new List<string>();
            bf2.b = new List<string>();
            bp1.b.Add("a");
            bp2.b.Add("b");
            bf1.b.Add("a");
            bf2.b.Add("b");
            app.list.Add(bp1);
            app.list.Add(bp2);
            apf.list.Add(bf1);
            apf.list.Add(bf2);
            afp.list.Add(bp1);
            afp.list.Add(bp2);
            aff.list.Add(bf1);
            aff.list.Add(bf2);

            StringWriter before = new StringWriter();
            before.WriteLine(Format(app));
            before.WriteLine(Format(apf));
            before.WriteLine(Format(afp));
            before.WriteLine(Format(aff));

            //Serialize
            MemoryStream mspp = new MemoryStream();
            MemoryStream mspf = new MemoryStream();
            MemoryStream msfp = new MemoryStream();
            MemoryStream msff = new MemoryStream();
            Serializer.Serialize(mspp, app);
            Serializer.Serialize(mspf, apf);
            Serializer.Serialize(msfp, afp);
            Serializer.Serialize(msff, aff);

            //Compare binary data
            byte[] bpp = mspp.ToArray();
            byte[] bpf = mspf.ToArray();
            byte[] bfp = msfp.ToArray();
            byte[] bff = msff.ToArray();

            Assert.AreEqual(18, bpp.Length);

            if (bpp.Length != bpf.Length)
                throw new InvalidDataException("Length does not match");
            if (bpf.Length != bff.Length)
                throw new InvalidDataException("Length does not match");
            if (bff.Length != bfp.Length)
                throw new InvalidDataException("Length does not match");
            for (int n = 0; n < bpp.Length; n++)
            {
                if (bpp[n] != bpf[n] || bpf[n] != bff[n] || bff[n] != bfp[n])
                    throw new InvalidDataException("Data does not match");
            }

            //Deserialize
            StringWriter after = new StringWriter();
            Deserialize(bpp, after);

            Assert.AreEqual(before.ToString(), after.ToString());

        }
Ejemplo n.º 6
0
 private static string Format(Apf a)
 {
     string s = "[" + a.GetType().Name + "]";
     if (a.list == null)
         return s + " null";
     s += " " + a.list.Count;
     foreach (var b in a.list)
         s += "\n\t" + Format(b);
     return s;
 }