Serialise() 공개 메소드

public Serialise ( IEmailPackage package ) : string
package IEmailPackage
리턴 string
        public void EmailPackageSerialiser_CanSerialiseAndDeserialiseIntoEqualObject()
        {
            EmailPackageSerialiser serialiser = new EmailPackageSerialiser();
            var package = serialiser.Deserialize(File.ReadAllText("SampleEmailPackage.xml"));
            var serialised = serialiser.Serialise(package);
            var deserialised = serialiser.Deserialize(serialised);

            foreach(var propertyInfo in typeof(EmailPackage).GetProperties())
            {
                object expected = propertyInfo.GetValue(package, null);
                object actual = propertyInfo.GetValue(deserialised, null);

                Assert.AreEqual(expected, actual);
            }
        }
        public void EmailPackageSerialiser_CanSerialiseAndDeserialiseIntoEqualObject()
        {
            EmailPackageSerialiser serialiser = new EmailPackageSerialiser();
            var expected = serialiser.Deserialize(File.ReadAllText("SampleEmailPackage.xml"));
            var serialised = serialiser.Serialise(expected);
            var actual = serialiser.Deserialize(serialised);

            Assert.That(actual.To[0].EmailAddress, Is.EqualTo(expected.To[0].EmailAddress));
            Assert.That(actual.To[0].Name, Is.EqualTo(expected.To[0].Name));
               Assert.That(actual.Attachments[0].Path, Is.EqualTo(expected.Attachments[0].Path));
            Assert.That(actual.From, Is.EqualTo(expected.From));
            Assert.That(actual.Subject, Is.EqualTo(expected.Subject));
            Assert.That(actual.Html, Is.EqualTo(expected.Html));
            Assert.That(actual.Text, Is.EqualTo(expected.Text));
        }
        public void EmailPackageSerialiser_Serialisation_CanSerialiseAnEmailPackage()
        {
            EmailPackageSerialiser serialiser = new EmailPackageSerialiser();
            EmailPackage package = Helpers.SamplePackage();
            string serialised = serialiser.Serialise(package);
            string jgnamespace = "http://www.tanash.net/email/package";

            XDocument doc = XDocument.Parse(serialised);
            var serialisedPackage = doc.Element(XName.Get("emailPackage", jgnamespace));
            Assert.That(serialisedPackage.Element(XName.Get("from", jgnamespace)).Value, Is.EqualTo(package.From));
            Assert.That(serialisedPackage.Element(XName.Get("subject", jgnamespace)).Value, Is.EqualTo(package.Subject));
            Assert.That(serialisedPackage.Element(XName.Get("html", jgnamespace)).Value, Is.EqualTo(package.Html));
            Assert.That(serialisedPackage.Element(XName.Get("text", jgnamespace)).Value, Is.EqualTo(package.Text));
            Assert.That(serialisedPackage
                            .Element(XName.Get("recipients", jgnamespace))
                            .Elements(XName.Get("address", jgnamespace)).ToList(),
                            Has.Count.EqualTo(1));
            Assert.That(serialisedPackage
                            .Element(XName.Get("attachments", jgnamespace))
                            .Elements(XName.Get("attachment", jgnamespace)).ToList(),
                            Has.Count.EqualTo(1));
        }