OSDN Git Service

svnプロパティをファイルの種類に応じたものに更新
[wptscs/wpts.git] / WptscsTest / Models / LanguageTest.cs
index 2451c7a..c6ab8ab 100644 (file)
-// ================================================================================================\r
-// <summary>\r
-//      Languageのテストクラスソース。</summary>\r
-//\r
-// <copyright file="LanguageTest.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
-    /// Languageのテストクラスです。\r
-    /// </summary>\r
-    [TestFixture]\r
-    public class LanguageTest\r
-    {\r
-        #region プロパティテストケース\r
-\r
-        /// <summary>\r
-        /// Codeプロパティテストケース。\r
-        /// </summary>\r
-        [Test]\r
-        public void TestCode()\r
-        {\r
-            Language lang = new Language("en");\r
-            Assert.AreEqual("en", lang.Code);\r
-        }\r
-\r
-        /// <summary>\r
-        /// Codeプロパティテストケース(コードがnull)。\r
-        /// </summary>\r
-        [Test]\r
-        [ExpectedException(typeof(ArgumentNullException))]\r
-        public void TestCodeNull()\r
-        {\r
-            Language lang = new Language(null);\r
-        }\r
-\r
-        /// <summary>\r
-        /// Codeプロパティテストケース(コードが空)。\r
-        /// </summary>\r
-        [Test]\r
-        [ExpectedException(typeof(ArgumentException))]\r
-        public void TestCodeBlank()\r
-        {\r
-            Language lang = new Language(" ");\r
-        }\r
-\r
-        /// <summary>\r
-        /// Namesプロパティテストケース。\r
-        /// </summary>\r
-        [Test]\r
-        public void TestNames()\r
-        {\r
-            Language lang = new Language("en");\r
-\r
-            // 初期状態で空のディクショナリーを作成\r
-            Assert.NotNull(lang.Names);\r
-            Assert.AreEqual(0, lang.Names.Count);\r
-\r
-            Language.LanguageName name = new Language.LanguageName { Name = "テスト", ShortName = "テ" };\r
-            lang.Names.Add("ja", name);\r
-            Assert.IsTrue(lang.Names.ContainsKey("ja"));\r
-            Assert.AreEqual(name, lang.Names["ja"]);\r
-            Assert.IsFalse(lang.Names.ContainsKey("en"));\r
-        }\r
-\r
-        /// <summary>\r
-        /// Namesプロパティテストケース(オブジェクトがnull)。\r
-        /// </summary>\r
-        [Test]\r
-        [ExpectedException(typeof(ArgumentNullException))]\r
-        public void TestNamesNull()\r
-        {\r
-            new Language("en").Names = null;\r
-        }\r
-\r
-        /// <summary>\r
-        /// Bracketプロパティテストケース。\r
-        /// </summary>\r
-        [Test]\r
-        public void TestBracket()\r
-        {\r
-            Language lang = new Language("en");\r
-\r
-            // 設定ファイルからデフォルト値が設定されていること\r
-            Assert.AreEqual(" ({0}) ", lang.Bracket);\r
-\r
-            // 設定後はそちらが有効になること\r
-            lang.Bracket = "test";\r
-            Assert.AreEqual("test", lang.Bracket);\r
-\r
-            // 消すとデフォルトが有効になること\r
-            lang.Bracket = null;\r
-            Assert.AreEqual(" ({0}) ", lang.Bracket);\r
-            lang.Bracket = "";\r
-            Assert.AreEqual(" ({0}) ", lang.Bracket);\r
-        }\r
-\r
-        #endregion\r
-\r
-        #region XMLシリアライズ用メソッドテストケース\r
-\r
-        /// <summary>\r
-        /// XMLデシリアライズテストケース。\r
-        /// </summary>\r
-        [Test]\r
-        public void TestReadXml()\r
-        {\r
-            Language lang;\r
-            using (XmlReader r = XmlReader.Create(\r
-                new StringReader("<Language Code=\"ja\"><Names>"\r
-                    + "<LanguageName Code=\"en\"><Name>Japanese language</Name><ShortName>Japanese</ShortName></LanguageName>"\r
-                    + "<LanguageName Code=\"zh\"><Name>日语</Name><ShortName /></LanguageName>"\r
-                    + "</Names><Bracket>({0})</Bracket></Language>")))\r
-            {\r
-                lang = new XmlSerializer(typeof(Language)).Deserialize(r) as Language;\r
-            }\r
-            Assert.IsNotNull(lang);\r
-            Assert.AreEqual("ja", lang.Code);\r
-            Assert.AreEqual("Japanese language", lang.Names["en"].Name);\r
-            Assert.AreEqual("Japanese", lang.Names["en"].ShortName);\r
-            Assert.AreEqual("日语", lang.Names["zh"].Name);\r
-            Assert.IsEmpty(lang.Names["zh"].ShortName);\r
-            Assert.IsFalse(lang.Names.ContainsKey("ja"));\r
-            Assert.AreEqual("({0})", lang.Bracket);\r
-        }\r
-\r
-        /// <summary>\r
-        /// XMLシリアライズテストケース。\r
-        /// </summary>\r
-        [Test]\r
-        public void TestWriteXml()\r
-        {\r
-            Language lang = new Language("ja");\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(Language)).Serialize(w, lang);\r
-            }\r
-\r
-            Assert.AreEqual("<Language Code=\"ja\"><Names /><Bracket /></Language>", b.ToString());\r
-\r
-            lang.Names.Add("en", new Language.LanguageName { Name = "Japanese language", ShortName = "Japanese" });\r
-            lang.Names.Add("zh", new Language.LanguageName { Name = "日语" });\r
-            lang.Bracket = "({0})";\r
-\r
-            StringBuilder b2 = new StringBuilder();\r
-            using (XmlWriter w = XmlWriter.Create(b2, settings))\r
-            {\r
-                new XmlSerializer(typeof(Language)).Serialize(w, lang);\r
-            }\r
-\r
-            Assert.AreEqual("<Language Code=\"ja\"><Names>"\r
-                    + "<LanguageName Code=\"en\"><Name>Japanese language</Name><ShortName>Japanese</ShortName></LanguageName>"\r
-                    + "<LanguageName Code=\"zh\"><Name>日语</Name><ShortName /></LanguageName>"\r
-                    + "</Names><Bracket>({0})</Bracket></Language>", b2.ToString());\r
-        }\r
-\r
-        #endregion\r
-    }\r
-}\r
+// ================================================================================================
+// <summary>
+//      Languageのテストクラスソース。</summary>
+//
+// <copyright file="LanguageTest.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>
+    /// Languageのテストクラスです。
+    /// </summary>
+    [TestFixture]
+    public class LanguageTest
+    {
+        #region プロパティテストケース
+
+        /// <summary>
+        /// Codeプロパティテストケース。
+        /// </summary>
+        [Test]
+        public void TestCode()
+        {
+            Language lang = new Language("en");
+            Assert.AreEqual("en", lang.Code);
+        }
+
+        /// <summary>
+        /// Codeプロパティテストケース(コードがnull)。
+        /// </summary>
+        [Test]
+        [ExpectedException(typeof(ArgumentNullException))]
+        public void TestCodeNull()
+        {
+            Language lang = new Language(null);
+        }
+
+        /// <summary>
+        /// Codeプロパティテストケース(コードが空)。
+        /// </summary>
+        [Test]
+        [ExpectedException(typeof(ArgumentException))]
+        public void TestCodeBlank()
+        {
+            Language lang = new Language(" ");
+        }
+
+        /// <summary>
+        /// Namesプロパティテストケース。
+        /// </summary>
+        [Test]
+        public void TestNames()
+        {
+            Language lang = new Language("en");
+
+            // 初期状態で空のディクショナリーを作成
+            Assert.NotNull(lang.Names);
+            Assert.AreEqual(0, lang.Names.Count);
+
+            Language.LanguageName name = new Language.LanguageName { Name = "テスト", ShortName = "テ" };
+            lang.Names.Add("ja", name);
+            Assert.IsTrue(lang.Names.ContainsKey("ja"));
+            Assert.AreEqual(name, lang.Names["ja"]);
+            Assert.IsFalse(lang.Names.ContainsKey("en"));
+        }
+
+        /// <summary>
+        /// Namesプロパティテストケース(オブジェクトがnull)。
+        /// </summary>
+        [Test]
+        [ExpectedException(typeof(ArgumentNullException))]
+        public void TestNamesNull()
+        {
+            new Language("en").Names = null;
+        }
+
+        /// <summary>
+        /// Bracketプロパティテストケース。
+        /// </summary>
+        [Test]
+        public void TestBracket()
+        {
+            Language lang = new Language("en");
+
+            // 設定ファイルからデフォルト値が設定されていること
+            Assert.AreEqual(" ({0}) ", lang.Bracket);
+
+            // 設定後はそちらが有効になること
+            lang.Bracket = "test";
+            Assert.AreEqual("test", lang.Bracket);
+
+            // 消すとデフォルトが有効になること
+            lang.Bracket = null;
+            Assert.AreEqual(" ({0}) ", lang.Bracket);
+            lang.Bracket = "";
+            Assert.AreEqual(" ({0}) ", lang.Bracket);
+        }
+
+        #endregion
+
+        #region XMLシリアライズ用メソッドテストケース
+
+        /// <summary>
+        /// XMLデシリアライズテストケース。
+        /// </summary>
+        [Test]
+        public void TestReadXml()
+        {
+            Language lang;
+            using (XmlReader r = XmlReader.Create(
+                new StringReader("<Language Code=\"ja\"><Names>"
+                    + "<LanguageName Code=\"en\"><Name>Japanese language</Name><ShortName>Japanese</ShortName></LanguageName>"
+                    + "<LanguageName Code=\"zh\"><Name>日语</Name><ShortName /></LanguageName>"
+                    + "</Names><Bracket>({0})</Bracket></Language>")))
+            {
+                lang = new XmlSerializer(typeof(Language)).Deserialize(r) as Language;
+            }
+            Assert.IsNotNull(lang);
+            Assert.AreEqual("ja", lang.Code);
+            Assert.AreEqual("Japanese language", lang.Names["en"].Name);
+            Assert.AreEqual("Japanese", lang.Names["en"].ShortName);
+            Assert.AreEqual("日语", lang.Names["zh"].Name);
+            Assert.IsEmpty(lang.Names["zh"].ShortName);
+            Assert.IsFalse(lang.Names.ContainsKey("ja"));
+            Assert.AreEqual("({0})", lang.Bracket);
+        }
+
+        /// <summary>
+        /// XMLシリアライズテストケース。
+        /// </summary>
+        [Test]
+        public void TestWriteXml()
+        {
+            Language lang = new Language("ja");
+            XmlWriterSettings settings = new XmlWriterSettings();
+            settings.OmitXmlDeclaration = true;
+
+            StringBuilder b = new StringBuilder();
+            using (XmlWriter w = XmlWriter.Create(b, settings))
+            {
+                new XmlSerializer(typeof(Language)).Serialize(w, lang);
+            }
+
+            Assert.AreEqual("<Language Code=\"ja\"><Names /><Bracket /></Language>", b.ToString());
+
+            lang.Names.Add("en", new Language.LanguageName { Name = "Japanese language", ShortName = "Japanese" });
+            lang.Names.Add("zh", new Language.LanguageName { Name = "日语" });
+            lang.Bracket = "({0})";
+
+            StringBuilder b2 = new StringBuilder();
+            using (XmlWriter w = XmlWriter.Create(b2, settings))
+            {
+                new XmlSerializer(typeof(Language)).Serialize(w, lang);
+            }
+
+            Assert.AreEqual("<Language Code=\"ja\"><Names>"
+                    + "<LanguageName Code=\"en\"><Name>Japanese language</Name><ShortName>Japanese</ShortName></LanguageName>"
+                    + "<LanguageName Code=\"zh\"><Name>日语</Name><ShortName /></LanguageName>"
+                    + "</Names><Bracket>({0})</Bracket></Language>", b2.ToString());
+        }
+
+        #endregion
+    }
+}