// ================================================================================================
//
// 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
}
}