1 // ================================================================================================
3 // Validateのテストクラスソース。</summary>
5 // <copyright file="ValidateTest.cs" company="honeplusのメモ帳">
6 // Copyright (C) 2012 Honeplus. All rights reserved.</copyright>
9 // ================================================================================================
11 namespace Honememo.Utilities
14 using System.Collections.Generic;
15 using NUnit.Framework;
18 /// <see cref="Validate"/>のテストクラスです。
23 #region NotNullメソッドテストケース
26 /// <see cref="Validate.NotNull<T>(T, string)"/>メソッドテストケース(正常系)。
29 public void TestNotNull()
32 Assert.AreEqual(String.Empty, Validate.NotNull(String.Empty));
33 Assert.AreEqual("not null", Validate.NotNull("not null"));
36 Assert.AreEqual(String.Empty, Validate.NotNull(String.Empty, null));
37 Assert.AreEqual(String.Empty, Validate.NotNull(String.Empty, "test"));
38 Assert.AreEqual("not null", Validate.NotNull("not null", "test"));
42 /// <see cref="Validate.NotNull<T>(T, string)"/>メソッドテストケース(異常系)。
45 public void TestNotNullNg()
51 Validate.NotNull<object>(null);
52 Assert.Fail("expected ArgumentNullException");
54 catch (ArgumentNullException ex)
56 Assert.AreEqual("value", ex.ParamName);
63 Validate.NotNull<object>(null, "test");
64 Assert.Fail("expected ArgumentNullException");
66 catch (ArgumentNullException ex)
68 Assert.AreEqual("test", ex.ParamName);
74 Validate.NotNull<object>(null, null);
75 Assert.Fail("expected ArgumentNullException");
77 catch (ArgumentNullException ex)
79 Assert.IsNull(ex.ParamName);
85 #region NotEmptyメソッドテストケース
88 /// <see cref="Validate.NotEmpty(string, string)"/>メソッドテストケース(正常系)。
91 public void TestNotEmpty()
94 Assert.AreEqual("not empty", Validate.NotEmpty("not empty"));
97 Assert.AreEqual("not empty", Validate.NotEmpty("not empty", "test"));
101 /// <see cref="Validate.NotEmpty(string, string)"/>メソッドテストケース(異常系)。
104 public void TestNotEmptyNg()
110 Validate.NotEmpty(null);
111 Assert.Fail("expected ArgumentNullException");
113 catch (ArgumentNullException ex)
115 Assert.AreEqual("value", ex.ParamName);
122 Validate.NotEmpty(null, "test");
123 Assert.Fail("expected ArgumentNullException");
125 catch (ArgumentNullException ex)
127 Assert.AreEqual("test", ex.ParamName);
133 Validate.NotEmpty(null, null);
134 Assert.Fail("expected ArgumentNullException");
136 catch (ArgumentNullException ex)
138 Assert.IsNull(ex.ParamName);
145 Validate.NotEmpty(String.Empty);
146 Assert.Fail("expected ArgumentException");
148 catch (ArgumentException ex)
150 Assert.AreEqual("value", ex.ParamName);
157 Validate.NotEmpty(String.Empty, "test");
158 Assert.Fail("expected ArgumentException");
160 catch (ArgumentException ex)
162 Assert.AreEqual("test", ex.ParamName);
168 #region NotBlankメソッドテストケース
171 /// <see cref="Validate.NotBlank(string, string)"/>メソッドテストケース(正常系)。
174 public void TestNotBlank()
177 Assert.AreEqual("not blank", Validate.NotBlank("not blank"));
180 Assert.AreEqual("not blank", Validate.NotBlank("not blank", "test"));
184 /// <see cref="Validate.NotBlank(string, string)"/>メソッドテストケース(異常系)。
187 public void TestNotBlankNg()
193 Validate.NotBlank(null);
194 Assert.Fail("expected ArgumentNullException");
196 catch (ArgumentNullException ex)
198 Assert.AreEqual("value", ex.ParamName);
205 Validate.NotBlank(null, "test");
206 Assert.Fail("expected ArgumentNullException");
208 catch (ArgumentNullException ex)
210 Assert.AreEqual("test", ex.ParamName);
216 Validate.NotBlank(null, null);
217 Assert.Fail("expected ArgumentNullException");
219 catch (ArgumentNullException ex)
221 Assert.IsNull(ex.ParamName);
228 Validate.NotBlank(" ");
229 Assert.Fail("expected ArgumentException");
231 catch (ArgumentException ex)
233 Assert.AreEqual("value", ex.ParamName);
240 Validate.NotBlank(" ", "test");
241 Assert.Fail("expected ArgumentException");
243 catch (ArgumentException ex)
245 Assert.AreEqual("test", ex.ParamName);
251 #region InRangeメソッドテストケース
254 /// <see cref="Validate.InRange(string, int, string, string)"/>
258 public void TestInRangeStr()
262 Validate.InRange("1", 0);
263 Validate.InRange("range text", 9);
266 Validate.InRange("1", 0, "test", "testindex");
267 Validate.InRange("range text", 9, "test", "testindex");
271 /// <see cref="Validate.InRange(string, int, string, string)"/>
275 public void TestInRangeStrNg()
282 Validate.InRange(str, 0);
283 Assert.Fail("expected ArgumentNullException");
285 catch (ArgumentNullException ex)
287 Assert.AreEqual("value", ex.ParamName);
294 Validate.InRange(str, 0, "test", "testindex");
295 Assert.Fail("expected ArgumentNullException");
297 catch (ArgumentNullException ex)
299 Assert.AreEqual("test", ex.ParamName);
305 Validate.InRange(str, 0, null, null);
306 Assert.Fail("expected ArgumentNullException");
308 catch (ArgumentNullException ex)
310 Assert.IsNull(ex.ParamName);
317 Validate.InRange(String.Empty, 0);
318 Assert.Fail("expected ArgumentOutOfRangeException");
320 catch (ArgumentOutOfRangeException ex)
322 Assert.AreEqual("index", ex.ParamName);
328 Validate.InRange("range text", 10);
329 Assert.Fail("expected ArgumentOutOfRangeException");
331 catch (ArgumentOutOfRangeException ex)
333 Assert.AreEqual("index", ex.ParamName);
339 Validate.InRange("range text", -1);
340 Assert.Fail("expected ArgumentOutOfRangeException");
342 catch (ArgumentOutOfRangeException ex)
344 Assert.AreEqual("index", ex.ParamName);
351 Validate.InRange(String.Empty, 0, "test", "testindex");
352 Assert.Fail("expected ArgumentOutOfRangeException");
354 catch (ArgumentOutOfRangeException ex)
356 Assert.AreEqual("testindex", ex.ParamName);
362 Validate.InRange(String.Empty, 0, null, null);
363 Assert.Fail("expected ArgumentOutOfRangeException");
365 catch (ArgumentOutOfRangeException ex)
367 Assert.IsNull(ex.ParamName);
372 /// <see cref="Validate.InRange<T>(IList<T>, int, string, string)"/>
376 public void TestInRangeIList()
380 Validate.InRange(new object[1], 0);
381 Validate.InRange(new object[10], 9);
384 Validate.InRange(new object[1], 0, "test", "testindex");
385 Validate.InRange(new object[10], 9, "test", "testindex");
389 /// <see cref="Validate.InRange<T>(IList<T>, int, string, string)"/>
393 public void TestInRangeIListNg()
396 object[] list = null;
400 Validate.InRange(list, 0);
401 Assert.Fail("expected ArgumentNullException");
403 catch (ArgumentNullException ex)
405 Assert.AreEqual("value", ex.ParamName);
412 Validate.InRange(list, 0, "test", "testindex");
413 Assert.Fail("expected ArgumentNullException");
415 catch (ArgumentNullException ex)
417 Assert.AreEqual("test", ex.ParamName);
423 Validate.InRange(list, 0, null, null);
424 Assert.Fail("expected ArgumentNullException");
426 catch (ArgumentNullException ex)
428 Assert.IsNull(ex.ParamName);
435 Validate.InRange(new object[0], 0);
436 Assert.Fail("expected ArgumentOutOfRangeException");
438 catch (ArgumentOutOfRangeException ex)
440 Assert.AreEqual("index", ex.ParamName);
446 Validate.InRange(new object[10], 10);
447 Assert.Fail("expected ArgumentOutOfRangeException");
449 catch (ArgumentOutOfRangeException ex)
451 Assert.AreEqual("index", ex.ParamName);
457 Validate.InRange(new object[10], -1);
458 Assert.Fail("expected ArgumentOutOfRangeException");
460 catch (ArgumentOutOfRangeException ex)
462 Assert.AreEqual("index", ex.ParamName);
469 Validate.InRange(new object[0], 0, "test", "testindex");
470 Assert.Fail("expected ArgumentOutOfRangeException");
472 catch (ArgumentOutOfRangeException ex)
474 Assert.AreEqual("testindex", ex.ParamName);
480 Validate.InRange(new object[0], 0, null, null);
481 Assert.Fail("expected ArgumentOutOfRangeException");
483 catch (ArgumentOutOfRangeException ex)
485 Assert.IsNull(ex.ParamName);