// ================================================================================================ // // XmlUtilsのテストクラスソース。 // // // Copyright (C) 2013 Honeplus. All rights reserved. // // Honeplus // ================================================================================================ namespace Honememo.Utilities { using System; using System.Xml; using System.Xml.Linq; using Microsoft.VisualStudio.TestTools.UnitTesting; /// /// のテストクラスです。 /// [TestClass] public class XmlUtilsTest { #region null値許容メソッドテストケース /// /// , /// /// メソッドテストケース。 /// [TestMethod] public void TestInnerText() { // 引数一つ Assert.AreEqual(string.Empty, XmlUtils.InnerText(null)); Assert.AreEqual("test", XmlUtils.InnerText(new XmlDocument { InnerXml = "test" })); // 引数二つ Assert.IsNull(XmlUtils.InnerText(null, null)); Assert.AreEqual("null", XmlUtils.InnerText(null, "null")); Assert.AreEqual("test", XmlUtils.InnerText(new XmlDocument { InnerXml = "test" }, "null")); } /// /// , /// /// メソッドテストケース。 /// [TestMethod] public void TestInnerXml() { // 引数一つ Assert.AreEqual(string.Empty, XmlUtils.InnerXml(null)); Assert.AreEqual("", XmlUtils.InnerXml(new XmlDocument { InnerXml = "" })); // 引数二つ Assert.IsNull(XmlUtils.InnerXml(null, null)); Assert.AreEqual("", XmlUtils.InnerXml(null, "")); Assert.AreEqual("", XmlUtils.InnerXml(new XmlDocument { InnerXml = "" }, "")); } /// /// , /// /// メソッドテストケース。 /// [TestMethod] public void TestOuterXml() { // 引数一つ Assert.AreEqual(string.Empty, XmlUtils.OuterXml(null)); Assert.AreEqual("", XmlUtils.OuterXml(new XmlDocument { InnerXml = "" })); // 引数二つ Assert.IsNull(XmlUtils.OuterXml(null, null)); Assert.AreEqual("", XmlUtils.OuterXml(null, "")); Assert.AreEqual("", XmlUtils.OuterXml(new XmlDocument { InnerXml = "" }, "")); } /// /// , /// /// メソッドテストケース。 /// [TestMethod] public void TestValue() { // 引数一つ Assert.AreEqual(string.Empty, XmlUtils.Value(null)); Assert.AreEqual("100", XmlUtils.Value(new XAttribute("id", "100"))); // 引数二つ Assert.IsNull(XmlUtils.Value(null, null)); Assert.AreEqual("abc", XmlUtils.Value(null, "abc")); Assert.AreEqual("100", XmlUtils.Value(new XAttribute("id", "100"), "abc")); } #endregion #region エンコード/デコードテストケース /// /// メソッドテストケース。 /// [TestMethod] public void TestXmlEncode() { Assert.AreEqual("test", XmlUtils.XmlEncode("test")); Assert.AreEqual("<", XmlUtils.XmlEncode("<")); Assert.AreEqual(">", XmlUtils.XmlEncode(">")); Assert.AreEqual("&", XmlUtils.XmlEncode("&")); Assert.AreEqual(""", XmlUtils.XmlEncode("\"")); Assert.AreEqual("'", XmlUtils.XmlEncode("'")); } /// /// メソッドテストケース(null)。 /// [TestMethod] [ExpectedException(typeof(ArgumentNullException))] public void TestXmlEncodeNull() { XmlUtils.XmlEncode(null); } /// /// メソッドテストケース。 /// [TestMethod] public void TestXmlDecode() { Assert.AreEqual("test", XmlUtils.XmlDecode("test")); Assert.AreEqual("<", XmlUtils.XmlDecode("<")); Assert.AreEqual(">", XmlUtils.XmlDecode(">")); Assert.AreEqual("&", XmlUtils.XmlDecode("&")); Assert.AreEqual("\"", XmlUtils.XmlDecode(""")); Assert.AreEqual("'", XmlUtils.XmlDecode("'")); } /// /// メソッドテストケース(null)。 /// [TestMethod] [ExpectedException(typeof(ArgumentNullException))] public void TestXmlDecodeNull() { XmlUtils.XmlDecode(null); } #endregion } }