OSDN Git Service

svnプロパティをファイルの種類に応じたものに更新
[wptscs/wpts.git] / WptscsTest / Models / WebsiteTest.cs
index c95880b..62a1fcf 100644 (file)
-// ================================================================================================\r
-// <summary>\r
-//      Websiteのテストクラスソース。</summary>\r
-//\r
-// <copyright file="WebsiteTest.cs.cs" company="honeplusのメモ帳">\r
-//      Copyright (C) 2010 Honeplus. All rights reserved.</copyright>\r
-// <author>\r
-//      Honeplus</author>\r
-// ================================================================================================\r
-\r
-namespace Honememo.Wptscs.Models\r
-{\r
-    using System;\r
-    using System.IO;\r
-    using System.Reflection;\r
-    using System.Text;\r
-    using System.Xml;\r
-    using System.Xml.Serialization;\r
-    using NUnit.Framework;\r
-    using Honememo.Utilities;\r
-\r
-    /// <summary>\r
-    /// Websiteのテストクラスです。\r
-    /// </summary>\r
-    [TestFixture]\r
-    public class WebsiteTest\r
-    {\r
-        #region モッククラス\r
-\r
-        /// <summary>\r
-        /// Websiteテスト用のモッククラスです。\r
-        /// </summary>\r
-        public class DummySite : Website, IXmlSerializable\r
-        {\r
-            #region テスト用プロパティ\r
-\r
-            /// <summary>\r
-            /// ウェブサイトの場所。\r
-            /// </summary>\r
-            /// <remarks>動作確認はhttpとfileスキームのみ。</remarks>\r
-            public new string Location\r
-            {\r
-                get\r
-                {\r
-                    return base.Location;\r
-                }\r
-\r
-                set\r
-                {\r
-                    base.Location = value;\r
-                }\r
-            }\r
-\r
-            /// <summary>\r
-            /// ウェブサイトの言語。\r
-            /// </summary>\r
-            public new Language Language\r
-            {\r
-                get\r
-                {\r
-                    return base.Language;\r
-                }\r
-\r
-                set\r
-                {\r
-                    base.Language = value;\r
-                }\r
-            }\r
-\r
-            #endregion\r
-\r
-            #region ダミーメソッド\r
-\r
-            /// <summary>\r
-            /// ページを取得。\r
-            /// </summary>\r
-            /// <param name="title">ページタイトル。</param>\r
-            /// <returns>取得したページ。</returns>\r
-            /// <remarks>取得できない場合(通信エラーなど)は例外を投げる。</remarks>\r
-            public override Page GetPage(string title)\r
-            {\r
-                return null;\r
-            }\r
-\r
-            #endregion\r
-\r
-            #region テスト用XMLシリアライズ用メソッド\r
-\r
-            /// <summary>\r
-            /// シリアライズするXMLのスキーマ定義を返す。\r
-            /// </summary>\r
-            /// <returns>XML表現を記述するXmlSchema。</returns>\r
-            public System.Xml.Schema.XmlSchema GetSchema()\r
-            {\r
-                return null;\r
-            }\r
-\r
-            /// <summary>\r
-            /// XMLからオブジェクトをデシリアライズする。\r
-            /// </summary>\r
-            /// <param name="reader">デシリアライズ元のXmlReader</param>\r
-            public void ReadXml(XmlReader reader)\r
-            {\r
-                XmlDocument xml = new XmlDocument();\r
-                xml.Load(reader);\r
-\r
-                // Webサイト\r
-                // ※ 以下、基本的に無かったらNGの部分はいちいちチェックしない。例外飛ばす\r
-                XmlElement siteElement = xml.SelectSingleNode("DummySite") as XmlElement;\r
-                this.Location = siteElement.SelectSingleNode("Location").InnerText;\r
-\r
-                using (XmlReader r = XmlReader.Create(\r
-                    new StringReader(siteElement.SelectSingleNode("Language").OuterXml), reader.Settings))\r
-                {\r
-                    this.Language = new XmlSerializer(typeof(Language)).Deserialize(r) as Language;\r
-                }\r
-            }\r
-\r
-            /// <summary>\r
-            /// オブジェクトをXMLにシリアライズする。\r
-            /// </summary>\r
-            /// <param name="writer">シリアライズ先のXmlWriter</param>\r
-            public void WriteXml(XmlWriter writer)\r
-            {\r
-                writer.WriteElementString("Location", this.Location);\r
-                new XmlSerializer(typeof(Language)).Serialize(writer, this.Language);\r
-            }\r
-\r
-            #endregion\r
-        }\r
-\r
-        #endregion\r
-\r
-        #region プロパティテストケース\r
-\r
-        /// <summary>\r
-        /// Locationプロパティテストケース。\r
-        /// </summary>\r
-        [Test]\r
-        public void TestLocation()\r
-        {\r
-            DummySite site = new DummySite();\r
-            site.Location = "test";\r
-            Assert.AreEqual("test", site.Location);\r
-        }\r
-\r
-        /// <summary>\r
-        /// Locationプロパティテストケース(null)。\r
-        /// </summary>\r
-        [Test]\r
-        [ExpectedException(typeof(ArgumentNullException))]\r
-        public void TestLocationNull()\r
-        {\r
-            new DummySite().Location = null;\r
-        }\r
-\r
-        /// <summary>\r
-        /// Locationプロパティテストケース(空)。\r
-        /// </summary>\r
-        [Test]\r
-        [ExpectedException(typeof(ArgumentException))]\r
-        public void TestLocationBlank()\r
-        {\r
-            new DummySite().Location = " ";\r
-        }\r
-\r
-        /// <summary>\r
-        /// Languageプロパティテストケース。\r
-        /// </summary>\r
-        [Test]\r
-        public void TestLanguage()\r
-        {\r
-            DummySite site = new DummySite();\r
-            site.Language = new Language("ja");\r
-            Assert.AreEqual("ja", site.Language.Code);\r
-        }\r
-\r
-        /// <summary>\r
-        /// Languageプロパティテストケース(null)。\r
-        /// </summary>\r
-        [Test]\r
-        [ExpectedException(typeof(ArgumentNullException))]\r
-        public void TestLanguageNull()\r
-        {\r
-            new DummySite().Language = null;\r
-        }\r
-\r
-        #endregion\r
-\r
-        #region メソッドテストケース\r
-\r
-        /// <summary>\r
-        /// XMLデシリアライズテストケース。\r
-        /// </summary>\r
-        [Test]\r
-        public void TestReadXml()\r
-        {\r
-            DummySite site;\r
-            using (XmlReader r = XmlReader.Create(\r
-                new StringReader("<DummySite><Location>http://ja.wikipedia.org</Location>"\r
-                    + "<Language Code=\"ja\"><Names /></Language></DummySite>")))\r
-            {\r
-                site = new XmlSerializer(typeof(DummySite)).Deserialize(r) as DummySite;\r
-            }\r
-\r
-            Assert.IsNotNull(site);\r
-            Assert.AreEqual("http://ja.wikipedia.org", site.Location);\r
-            Assert.AreEqual("ja", site.Language.Code);\r
-        }\r
-\r
-        /// <summary>\r
-        /// XMLシリアライズテストケース。\r
-        /// </summary>\r
-        [Test]\r
-        public void TestWriteXml()\r
-        {\r
-            Language lang = new Language("ja");\r
-            DummySite site = new DummySite();\r
-            site.Location = "http://ja.wikipedia.org";\r
-            site.Language = lang;\r
-            XmlWriterSettings settings = new XmlWriterSettings();\r
-            settings.OmitXmlDeclaration = true;\r
-\r
-            StringBuilder b = new StringBuilder();\r
-            using (XmlWriter w = XmlWriter.Create(b, settings))\r
-            {\r
-                new XmlSerializer(typeof(DummySite)).Serialize(w, site);\r
-            }\r
-\r
-            Assert.AreEqual("<DummySite><Location>http://ja.wikipedia.org</Location><Language Code=\"ja\"><Names /><Bracket /></Language></DummySite>", b.ToString());\r
-        }\r
-\r
-        #endregion\r
-    }\r
-}\r
+// ================================================================================================
+// <summary>
+//      Websiteのテストクラスソース。</summary>
+//
+// <copyright file="WebsiteTest.cs.cs" company="honeplusのメモ帳">
+//      Copyright (C) 2010 Honeplus. All rights reserved.</copyright>
+// <author>
+//      Honeplus</author>
+// ================================================================================================
+
+namespace Honememo.Wptscs.Models
+{
+    using System;
+    using System.IO;
+    using System.Reflection;
+    using System.Text;
+    using System.Xml;
+    using System.Xml.Serialization;
+    using NUnit.Framework;
+    using Honememo.Utilities;
+
+    /// <summary>
+    /// Websiteのテストクラスです。
+    /// </summary>
+    [TestFixture]
+    public class WebsiteTest
+    {
+        #region モッククラス
+
+        /// <summary>
+        /// Websiteテスト用のモッククラスです。
+        /// </summary>
+        public class DummySite : Website, IXmlSerializable
+        {
+            #region テスト用プロパティ
+
+            /// <summary>
+            /// ウェブサイトの場所。
+            /// </summary>
+            /// <remarks>動作確認はhttpとfileスキームのみ。</remarks>
+            public new string Location
+            {
+                get
+                {
+                    return base.Location;
+                }
+
+                set
+                {
+                    base.Location = value;
+                }
+            }
+
+            /// <summary>
+            /// ウェブサイトの言語。
+            /// </summary>
+            public new Language Language
+            {
+                get
+                {
+                    return base.Language;
+                }
+
+                set
+                {
+                    base.Language = value;
+                }
+            }
+
+            #endregion
+
+            #region ダミーメソッド
+
+            /// <summary>
+            /// ページを取得。
+            /// </summary>
+            /// <param name="title">ページタイトル。</param>
+            /// <returns>取得したページ。</returns>
+            /// <remarks>取得できない場合(通信エラーなど)は例外を投げる。</remarks>
+            public override Page GetPage(string title)
+            {
+                return null;
+            }
+
+            #endregion
+
+            #region テスト用XMLシリアライズ用メソッド
+
+            /// <summary>
+            /// シリアライズするXMLのスキーマ定義を返す。
+            /// </summary>
+            /// <returns>XML表現を記述するXmlSchema。</returns>
+            public System.Xml.Schema.XmlSchema GetSchema()
+            {
+                return null;
+            }
+
+            /// <summary>
+            /// XMLからオブジェクトをデシリアライズする。
+            /// </summary>
+            /// <param name="reader">デシリアライズ元のXmlReader</param>
+            public void ReadXml(XmlReader reader)
+            {
+                XmlDocument xml = new XmlDocument();
+                xml.Load(reader);
+
+                // Webサイト
+                // ※ 以下、基本的に無かったらNGの部分はいちいちチェックしない。例外飛ばす
+                XmlElement siteElement = xml.SelectSingleNode("DummySite") as XmlElement;
+                this.Location = siteElement.SelectSingleNode("Location").InnerText;
+
+                using (XmlReader r = XmlReader.Create(
+                    new StringReader(siteElement.SelectSingleNode("Language").OuterXml), reader.Settings))
+                {
+                    this.Language = new XmlSerializer(typeof(Language)).Deserialize(r) as Language;
+                }
+            }
+
+            /// <summary>
+            /// オブジェクトをXMLにシリアライズする。
+            /// </summary>
+            /// <param name="writer">シリアライズ先のXmlWriter</param>
+            public void WriteXml(XmlWriter writer)
+            {
+                writer.WriteElementString("Location", this.Location);
+                new XmlSerializer(typeof(Language)).Serialize(writer, this.Language);
+            }
+
+            #endregion
+        }
+
+        #endregion
+
+        #region プロパティテストケース
+
+        /// <summary>
+        /// Locationプロパティテストケース。
+        /// </summary>
+        [Test]
+        public void TestLocation()
+        {
+            DummySite site = new DummySite();
+            site.Location = "test";
+            Assert.AreEqual("test", site.Location);
+        }
+
+        /// <summary>
+        /// Locationプロパティテストケース(null)。
+        /// </summary>
+        [Test]
+        [ExpectedException(typeof(ArgumentNullException))]
+        public void TestLocationNull()
+        {
+            new DummySite().Location = null;
+        }
+
+        /// <summary>
+        /// Locationプロパティテストケース(空)。
+        /// </summary>
+        [Test]
+        [ExpectedException(typeof(ArgumentException))]
+        public void TestLocationBlank()
+        {
+            new DummySite().Location = " ";
+        }
+
+        /// <summary>
+        /// Languageプロパティテストケース。
+        /// </summary>
+        [Test]
+        public void TestLanguage()
+        {
+            DummySite site = new DummySite();
+            site.Language = new Language("ja");
+            Assert.AreEqual("ja", site.Language.Code);
+        }
+
+        /// <summary>
+        /// Languageプロパティテストケース(null)。
+        /// </summary>
+        [Test]
+        [ExpectedException(typeof(ArgumentNullException))]
+        public void TestLanguageNull()
+        {
+            new DummySite().Language = null;
+        }
+
+        #endregion
+
+        #region メソッドテストケース
+
+        /// <summary>
+        /// XMLデシリアライズテストケース。
+        /// </summary>
+        [Test]
+        public void TestReadXml()
+        {
+            DummySite site;
+            using (XmlReader r = XmlReader.Create(
+                new StringReader("<DummySite><Location>http://ja.wikipedia.org</Location>"
+                    + "<Language Code=\"ja\"><Names /></Language></DummySite>")))
+            {
+                site = new XmlSerializer(typeof(DummySite)).Deserialize(r) as DummySite;
+            }
+
+            Assert.IsNotNull(site);
+            Assert.AreEqual("http://ja.wikipedia.org", site.Location);
+            Assert.AreEqual("ja", site.Language.Code);
+        }
+
+        /// <summary>
+        /// XMLシリアライズテストケース。
+        /// </summary>
+        [Test]
+        public void TestWriteXml()
+        {
+            Language lang = new Language("ja");
+            DummySite site = new DummySite();
+            site.Location = "http://ja.wikipedia.org";
+            site.Language = lang;
+            XmlWriterSettings settings = new XmlWriterSettings();
+            settings.OmitXmlDeclaration = true;
+
+            StringBuilder b = new StringBuilder();
+            using (XmlWriter w = XmlWriter.Create(b, settings))
+            {
+                new XmlSerializer(typeof(DummySite)).Serialize(w, site);
+            }
+
+            Assert.AreEqual("<DummySite><Location>http://ja.wikipedia.org</Location><Language Code=\"ja\"><Names /><Bracket /></Language></DummySite>", b.ToString());
+        }
+
+        #endregion
+    }
+}