Example #1
0
        /// <summary>
        /// テスト対象コードの実行結果を検証します。
        /// </summary>
        /// <typeparam name="TResult">テスト対象コードの戻り値の型。</typeparam>
        /// <param name="actual">テスト対象コードの実行結果。</param>
        /// <param name="expectedResult">テスト対象コードの戻り値として期待される値。</param>
        /// <param name="expectedExceptionType">テスト対象コードによって生じる事が期待される例外の型。</param>
        /// <exception cref="ArgumentNullException"><paramref name="actual"/> is <c>null</c>.</exception>
        public static void Verify <TResult>(this ITestActual <TResult[]> actual, TResult[] expectedResult, Type expectedExceptionType)
        {
            if (actual == null)
            {
                throw new ArgumentNullException(nameof(actual));
            }

            actual.Verify(
                (result, description) => CollectionAssert.AreEqual(expectedResult, result, description),
                expectedExceptionType
                );
        }
Example #2
0
        /// <summary>
        /// テスト結果を検証します。
        /// </summary>
        /// <typeparam name="TResult">テストの戻り値の型。</typeparam>
        /// <param name="actual">テスト結果。</param>
        /// <param name="resultVerifier">テストの戻り値の検証を行うデリゲート。</param>
        /// <param name="exceptionVerifier">テスト中に生じた例外の検証を行うデリゲート。</param>
        /// <exception cref="ArgumentNullException"><paramref name="actual"/> or <paramref name="resultVerifier"/> or <paramref name="exceptionVerifier"/> is <c>null</c>.</exception>
        public static void Verify <TResult>(this ITestActual <TResult> actual, TestActualVerifier <TResult> resultVerifier, TestActualVerifier <Exception> exceptionVerifier)
        {
            if (actual == null)
            {
                throw new ArgumentNullException(nameof(actual));
            }
            if (resultVerifier == null)
            {
                throw new ArgumentNullException(nameof(resultVerifier));
            }
            if (exceptionVerifier == null)
            {
                throw new ArgumentNullException(nameof(exceptionVerifier));
            }

            actual.Verify(description => resultVerifier(actual.Result, description), exceptionVerifier);
        }
 /// <summary>
 /// テスト結果を検証します。
 /// </summary>
 /// <typeparam name="TResult">テストの戻り値の型。</typeparam>
 /// <param name="actual">テスト結果。</param>
 /// <param name="expectedResult">テストの戻り値として期待される値。</param>
 /// <param name="expectedExceptionType">テスト中に生じる事が期待される例外の型。</param>
 /// <exception cref="ArgumentNullException"><paramref name="actual"/> is <c>null</c>.</exception>
 public static void Verify <TResult>(this ITestActual <TResult> actual, TResult expectedResult, Type expectedExceptionType)
 {
     Inasync.TestActualExtensions.Verify(
         actual
         , (result, description) => {
         if (typeof(TResult) != typeof(string) && actual.Result is IEnumerable actualResults)
         {
             var actualCollection   = actualResults.Cast <object>().ToArray();
             var expectedCollection = (expectedResult as IEnumerable)?.Cast <object>().ToArray();
             CollectionAssert.AreEqual(expectedCollection, actualCollection, description);
         }
         else
         {
             Assert.AreEqual(expectedResult, result, description);
         }
     }
         , CreateDefaultExceptionVerifier(expectedExceptionType)
         );
 }
Example #4
0
        /// <summary>
        /// テスト結果を検証します。
        /// </summary>
        /// <param name="actual">テスト結果。</param>
        /// <param name="resultVerifier">テストの戻り値の検証を行うデリゲート。</param>
        /// <param name="exceptionVerifier">テスト中に生じた例外の検証を行うデリゲート。</param>
        /// <exception cref="ArgumentNullException"><paramref name="actual"/> or <paramref name="resultVerifier"/> or <paramref name="exceptionVerifier"/> is <c>null</c>.</exception>
        public static void Verify(this ITestActual actual, TestActualVerifier resultVerifier, TestActualVerifier <Exception> exceptionVerifier)
        {
            if (actual == null)
            {
                throw new ArgumentNullException(nameof(actual));
            }
            if (resultVerifier == null)
            {
                throw new ArgumentNullException(nameof(resultVerifier));
            }
            if (exceptionVerifier == null)
            {
                throw new ArgumentNullException(nameof(exceptionVerifier));
            }

            // 期待通りに例外が生じている or 生じていない事を検証。
            exceptionVerifier(actual.Exception, actual.Description);

            // 成功時検証は例外が生じていない時のみ。
            if (actual.Exception == null)
            {
                resultVerifier(actual.Description);
            }
        }
 /// <summary>
 /// テスト結果を検証します。
 /// </summary>
 /// <typeparam name="TResult">テストの戻り値の型。</typeparam>
 /// <param name="actual">テスト結果。</param>
 /// <param name="resultVerifier">テストの戻り値の検証を行うデリゲート。</param>
 /// <param name="expectedExceptionType">テスト中に生じる事が期待される例外の型。</param>
 /// <exception cref="ArgumentNullException"><paramref name="actual"/> or <paramref name="resultVerifier"/> is <c>null</c>.</exception>
 public static void Verify <TResult>(this ITestActual <TResult> actual, TestActualVerifier <TResult> resultVerifier, Type expectedExceptionType)
 {
     Inasync.TestActualExtensions.Verify(actual, resultVerifier, CreateDefaultExceptionVerifier(expectedExceptionType));
 }