-// ================================================================================================\r
-// <summary>\r
-// IgnoreCaseDictionaryのテストクラスソース。</summary>\r
-//\r
-// <copyright file="IgnoreCaseDictionaryTest.cs" company="honeplusのメモ帳">\r
-// Copyright (C) 2010 Honeplus. All rights reserved.</copyright>\r
-// <author>\r
-// Honeplus</author>\r
-// ================================================================================================\r
-\r
-namespace Honememo.Models\r
-{\r
- using System;\r
- using System.Collections.Generic;\r
- using NUnit.Framework;\r
-\r
- /// <summary>\r
- /// IgnoreCaseDictionaryのテストクラスです。\r
- /// </summary>\r
- [TestFixture]\r
- public class IgnoreCaseDictionaryTest\r
- {\r
- #region コンストラクタテストケース\r
-\r
- /// <summary>\r
- /// コンストラクタテストケース(引数なし)。\r
- /// </summary>\r
- [Test]\r
- public void TestConstructor()\r
- {\r
- IgnoreCaseDictionary<string> d = new IgnoreCaseDictionary<string>();\r
- Assert.AreEqual(0, d.Dictionary.Count);\r
- }\r
-\r
- /// <summary>\r
- /// コンストラクタテストケース(引数Dictionary)。\r
- /// </summary>\r
- [Test]\r
- public void TestConstructorDictionary()\r
- {\r
- IDictionary<string, string> inner = new Dictionary<string, string>();\r
- inner.Add("TestKey", "TestValue");\r
- IgnoreCaseDictionary<string> d = new IgnoreCaseDictionary<string>(inner);\r
- Assert.AreEqual(inner, d.Dictionary);\r
- Assert.IsTrue(d.ContainsKey("TESTkey"));\r
- }\r
-\r
- /// <summary>\r
- /// コンストラクタテストケース(引数Dictionary、null値)。\r
- /// </summary>\r
- [Test]\r
- [ExpectedException(typeof(ArgumentNullException))]\r
- public void TestConstructorDictionaryNull()\r
- {\r
- IgnoreCaseDictionary<string> d = new IgnoreCaseDictionary<string>(null);\r
- }\r
-\r
- #endregion\r
-\r
- #region 独自実装公開プロパティテストケース\r
- \r
- /// <summary>\r
- /// Dictionaryプロパティテストケース(正常系)。\r
- /// </summary>\r
- [Test]\r
- public void TestDictionary()\r
- {\r
- IgnoreCaseDictionary<string> d = new IgnoreCaseDictionary<string>();\r
- IDictionary<string, string> inner = new Dictionary<string, string>();\r
- inner.Add("TestKey", "TestValue");\r
- d.Dictionary = inner;\r
- Assert.AreEqual(inner, d.Dictionary);\r
- Assert.IsTrue(d.ContainsKey("TESTkey"));\r
- }\r
-\r
- /// <summary>\r
- /// Dictionaryプロパティテストケース(null値)。\r
- /// </summary>\r
- [Test]\r
- [ExpectedException(typeof(ArgumentNullException))]\r
- public void TestDictionaryNull()\r
- {\r
- IgnoreCaseDictionary<string> d = new IgnoreCaseDictionary<string>();\r
- d.Dictionary = null;\r
- }\r
- \r
- #endregion\r
-\r
- #region ラップするインスタンスを参照するプロパティテストケース\r
-\r
- /// <summary>\r
- /// Keysプロパティテストケース。\r
- /// </summary>\r
- [Test]\r
- public void TestKeys()\r
- {\r
- // ラップするIDictionaryと同じ値であること\r
- IDictionary<string, string> inner = new Dictionary<string, string>();\r
- inner.Add("TestKey", "TestValue");\r
- IgnoreCaseDictionary<string> d = new IgnoreCaseDictionary<string>(inner);\r
- Assert.AreEqual(inner.Keys, d.Keys);\r
- }\r
-\r
- /// <summary>\r
- /// Valuesプロパティテストケース。\r
- /// </summary>\r
- [Test]\r
- public void TestValues()\r
- {\r
- // ラップするIDictionaryと同じ値であること\r
- IDictionary<string, string> inner = new Dictionary<string, string>();\r
- inner.Add("TestKey", "TestValue");\r
- IgnoreCaseDictionary<string> d = new IgnoreCaseDictionary<string>(inner);\r
- Assert.AreEqual(inner.Values, d.Values);\r
- }\r
-\r
- /// <summary>\r
- /// Countプロパティテストケース。\r
- /// </summary>\r
- [Test]\r
- public void TestCount()\r
- {\r
- // ラップするIDictionaryと同じ値であること\r
- IDictionary<string, string> inner = new Dictionary<string, string>();\r
- inner.Add("TestKey", "TestValue");\r
- IgnoreCaseDictionary<string> d = new IgnoreCaseDictionary<string>(inner);\r
- Assert.AreEqual(inner.Count, d.Count);\r
- }\r
- \r
- /// <summary>\r
- /// IsReadOnlyプロパティテストケース。\r
- /// </summary>\r
- [Test]\r
- public void TestIsReadOnly()\r
- {\r
- // ラップするIDictionaryと同じ値であること\r
- IDictionary<string, string> inner = new Dictionary<string, string>();\r
- inner.Add("TestKey", "TestValue");\r
- IgnoreCaseDictionary<string> d = new IgnoreCaseDictionary<string>(inner);\r
- Assert.AreEqual(inner.IsReadOnly, d.IsReadOnly);\r
- }\r
-\r
- #endregion\r
- \r
- #region 独自実装インデクサーテストケース\r
-\r
- /// <summary>\r
- /// thisインデクサーテストケース(正常系)。\r
- /// </summary>\r
- [Test]\r
- public void TestThis()\r
- {\r
- IgnoreCaseDictionary<string> d = new IgnoreCaseDictionary<string>();\r
- d["TestKey"] = "TestValue";\r
- Assert.AreEqual("TestValue", d["TESTkey"]);\r
- Assert.AreEqual("TestValue", d.Dictionary["TestKey"]);\r
- d["tESTkEY"] = "TestValue2";\r
- Assert.AreEqual("TestValue2", d["TESTkey"]);\r
- Assert.AreEqual("TestValue2", d.Dictionary["tESTkEY"]);\r
- Assert.IsFalse(d.Dictionary.ContainsKey("TestKey"));\r
- }\r
-\r
- /// <summary>\r
- /// thisインデクサーテストケース(get、null値)。\r
- /// </summary>\r
- [Test]\r
- [ExpectedException(typeof(ArgumentNullException))]\r
- public void TestThisGetNull()\r
- {\r
- IgnoreCaseDictionary<string> d = new IgnoreCaseDictionary<string>();\r
- string dymmy = d.Dictionary[null];\r
- }\r
-\r
- /// <summary>\r
- /// thisインデクサーテストケース(set、null値)。\r
- /// </summary>\r
- [Test]\r
- [ExpectedException(typeof(ArgumentNullException))]\r
- public void TestThisSetNull()\r
- {\r
- IgnoreCaseDictionary<string> d = new IgnoreCaseDictionary<string>();\r
- d.Dictionary[null] = "TestValue";\r
- }\r
-\r
- /// <summary>\r
- /// thisインデクサーテストケース(get、値なし)。\r
- /// </summary>\r
- [Test]\r
- [ExpectedException(typeof(KeyNotFoundException))]\r
- public void TestThisKeyNotFound()\r
- {\r
- IgnoreCaseDictionary<string> d = new IgnoreCaseDictionary<string>();\r
- string dymmy = d.Dictionary["TestKey"];\r
- }\r
-\r
- #endregion\r
-\r
- #region 独自実装メソッドテストケース\r
-\r
- // TODO: いっぱい足りない\r
-\r
- #endregion\r
-\r
- #region ラップするインスタンスを参照するメソッドテストケース\r
-\r
- /// <summary>\r
- /// GetEnumeratorメソッドテストケース。\r
- /// </summary>\r
- [Test]\r
- public void TestGetEnumerator()\r
- {\r
- // ラップするIDictionaryと同じ値であること\r
- IDictionary<string, string> inner = new Dictionary<string, string>();\r
- inner.Add("TestKey", "TestValue");\r
- IgnoreCaseDictionary<string> d = new IgnoreCaseDictionary<string>(inner);\r
- Assert.AreEqual(inner.GetEnumerator(), d.GetEnumerator());\r
- }\r
-\r
- #endregion\r
- }\r
-}\r
+// ================================================================================================
+// <summary>
+// IgnoreCaseDictionaryのテストクラスソース。</summary>
+//
+// <copyright file="IgnoreCaseDictionaryTest.cs" company="honeplusのメモ帳">
+// Copyright (C) 2010 Honeplus. All rights reserved.</copyright>
+// <author>
+// Honeplus</author>
+// ================================================================================================
+
+namespace Honememo.Models
+{
+ using System;
+ using System.Collections.Generic;
+ using NUnit.Framework;
+
+ /// <summary>
+ /// IgnoreCaseDictionaryのテストクラスです。
+ /// </summary>
+ [TestFixture]
+ public class IgnoreCaseDictionaryTest
+ {
+ #region コンストラクタテストケース
+
+ /// <summary>
+ /// コンストラクタテストケース(引数なし)。
+ /// </summary>
+ [Test]
+ public void TestConstructor()
+ {
+ IgnoreCaseDictionary<string> d = new IgnoreCaseDictionary<string>();
+ Assert.AreEqual(0, d.Dictionary.Count);
+ }
+
+ /// <summary>
+ /// コンストラクタテストケース(引数Dictionary)。
+ /// </summary>
+ [Test]
+ public void TestConstructorDictionary()
+ {
+ IDictionary<string, string> inner = new Dictionary<string, string>();
+ inner.Add("TestKey", "TestValue");
+ IgnoreCaseDictionary<string> d = new IgnoreCaseDictionary<string>(inner);
+ Assert.AreEqual(inner, d.Dictionary);
+ Assert.IsTrue(d.ContainsKey("TESTkey"));
+ }
+
+ /// <summary>
+ /// コンストラクタテストケース(引数Dictionary、null値)。
+ /// </summary>
+ [Test]
+ [ExpectedException(typeof(ArgumentNullException))]
+ public void TestConstructorDictionaryNull()
+ {
+ IgnoreCaseDictionary<string> d = new IgnoreCaseDictionary<string>(null);
+ }
+
+ #endregion
+
+ #region 独自実装公開プロパティテストケース
+
+ /// <summary>
+ /// Dictionaryプロパティテストケース(正常系)。
+ /// </summary>
+ [Test]
+ public void TestDictionary()
+ {
+ IgnoreCaseDictionary<string> d = new IgnoreCaseDictionary<string>();
+ IDictionary<string, string> inner = new Dictionary<string, string>();
+ inner.Add("TestKey", "TestValue");
+ d.Dictionary = inner;
+ Assert.AreEqual(inner, d.Dictionary);
+ Assert.IsTrue(d.ContainsKey("TESTkey"));
+ }
+
+ /// <summary>
+ /// Dictionaryプロパティテストケース(null値)。
+ /// </summary>
+ [Test]
+ [ExpectedException(typeof(ArgumentNullException))]
+ public void TestDictionaryNull()
+ {
+ IgnoreCaseDictionary<string> d = new IgnoreCaseDictionary<string>();
+ d.Dictionary = null;
+ }
+
+ #endregion
+
+ #region ラップするインスタンスを参照するプロパティテストケース
+
+ /// <summary>
+ /// Keysプロパティテストケース。
+ /// </summary>
+ [Test]
+ public void TestKeys()
+ {
+ // ラップするIDictionaryと同じ値であること
+ IDictionary<string, string> inner = new Dictionary<string, string>();
+ inner.Add("TestKey", "TestValue");
+ IgnoreCaseDictionary<string> d = new IgnoreCaseDictionary<string>(inner);
+ Assert.AreEqual(inner.Keys, d.Keys);
+ }
+
+ /// <summary>
+ /// Valuesプロパティテストケース。
+ /// </summary>
+ [Test]
+ public void TestValues()
+ {
+ // ラップするIDictionaryと同じ値であること
+ IDictionary<string, string> inner = new Dictionary<string, string>();
+ inner.Add("TestKey", "TestValue");
+ IgnoreCaseDictionary<string> d = new IgnoreCaseDictionary<string>(inner);
+ Assert.AreEqual(inner.Values, d.Values);
+ }
+
+ /// <summary>
+ /// Countプロパティテストケース。
+ /// </summary>
+ [Test]
+ public void TestCount()
+ {
+ // ラップするIDictionaryと同じ値であること
+ IDictionary<string, string> inner = new Dictionary<string, string>();
+ inner.Add("TestKey", "TestValue");
+ IgnoreCaseDictionary<string> d = new IgnoreCaseDictionary<string>(inner);
+ Assert.AreEqual(inner.Count, d.Count);
+ }
+
+ /// <summary>
+ /// IsReadOnlyプロパティテストケース。
+ /// </summary>
+ [Test]
+ public void TestIsReadOnly()
+ {
+ // ラップするIDictionaryと同じ値であること
+ IDictionary<string, string> inner = new Dictionary<string, string>();
+ inner.Add("TestKey", "TestValue");
+ IgnoreCaseDictionary<string> d = new IgnoreCaseDictionary<string>(inner);
+ Assert.AreEqual(inner.IsReadOnly, d.IsReadOnly);
+ }
+
+ #endregion
+
+ #region 独自実装インデクサーテストケース
+
+ /// <summary>
+ /// thisインデクサーテストケース(正常系)。
+ /// </summary>
+ [Test]
+ public void TestThis()
+ {
+ IgnoreCaseDictionary<string> d = new IgnoreCaseDictionary<string>();
+ d["TestKey"] = "TestValue";
+ Assert.AreEqual("TestValue", d["TESTkey"]);
+ Assert.AreEqual("TestValue", d.Dictionary["TestKey"]);
+ d["tESTkEY"] = "TestValue2";
+ Assert.AreEqual("TestValue2", d["TESTkey"]);
+ Assert.AreEqual("TestValue2", d.Dictionary["tESTkEY"]);
+ Assert.IsFalse(d.Dictionary.ContainsKey("TestKey"));
+ }
+
+ /// <summary>
+ /// thisインデクサーテストケース(get、null値)。
+ /// </summary>
+ [Test]
+ [ExpectedException(typeof(ArgumentNullException))]
+ public void TestThisGetNull()
+ {
+ IgnoreCaseDictionary<string> d = new IgnoreCaseDictionary<string>();
+ string dymmy = d.Dictionary[null];
+ }
+
+ /// <summary>
+ /// thisインデクサーテストケース(set、null値)。
+ /// </summary>
+ [Test]
+ [ExpectedException(typeof(ArgumentNullException))]
+ public void TestThisSetNull()
+ {
+ IgnoreCaseDictionary<string> d = new IgnoreCaseDictionary<string>();
+ d.Dictionary[null] = "TestValue";
+ }
+
+ /// <summary>
+ /// thisインデクサーテストケース(get、値なし)。
+ /// </summary>
+ [Test]
+ [ExpectedException(typeof(KeyNotFoundException))]
+ public void TestThisKeyNotFound()
+ {
+ IgnoreCaseDictionary<string> d = new IgnoreCaseDictionary<string>();
+ string dymmy = d.Dictionary["TestKey"];
+ }
+
+ #endregion
+
+ #region 独自実装メソッドテストケース
+
+ // TODO: いっぱい足りない
+
+ #endregion
+
+ #region ラップするインスタンスを参照するメソッドテストケース
+
+ /// <summary>
+ /// GetEnumeratorメソッドテストケース。
+ /// </summary>
+ [Test]
+ public void TestGetEnumerator()
+ {
+ // ラップするIDictionaryと同じ値であること
+ IDictionary<string, string> inner = new Dictionary<string, string>();
+ inner.Add("TestKey", "TestValue");
+ IgnoreCaseDictionary<string> d = new IgnoreCaseDictionary<string>(inner);
+ Assert.AreEqual(inner.GetEnumerator(), d.GetEnumerator());
+ }
+
+ #endregion
+ }
+}