nlib

述語アサーションが定義されています。 [詳解]

[ソースコード]

名前空間

 nn::nlib
 共通して使われる機能やプラットフォームへの依存度が高い機能が実装されます。 nlib Platform APIs も御覧ください。nlib_nsはエイリアスです。
 
 nn::nlib::testing
 C++のコードをテストするためのフレームワークです。testingライブラリの機能一覧 の説明も御覧ください。
 

マクロ定義

既存のブール関数のテスト(ASSERT_PREDn)

bool型を返す関数がある場合、以下のマクロに与えることで失敗時に関数の引数を表示できます。

#define ASSERT_PRED1(pred, v1)   NLIB_TESTING_PRED1_(pred, v1, NLIB_TESTING_FATAL_)
 pred(v1)が真であるかどうかを検証します。失敗した場合は現在実行中の関数から抜けます。
 
#define ASSERT_PRED2(pred, v1, v2)   NLIB_TESTING_PRED2_(pred, v1, v2, NLIB_TESTING_FATAL_)
 pred(v1, v2)が真であるかどうかを検証します。失敗した場合は現在実行中の関数から抜けます。
 
#define ASSERT_PRED3(pred, v1, v2, v3)   NLIB_TESTING_PRED3_(pred, v1, v2, v3, NLIB_TESTING_FATAL_)
 pred(v1, v2, v3)が真であるかどうかを検証します。失敗した場合は現在実行中の関数から抜けます。
 
#define ASSERT_PRED4(pred, v1, v2, v3, v4)   NLIB_TESTING_PRED4_(pred, v1, v2, v3, v4, NLIB_TESTING_FATAL_)
 pred(v1, v2, v3, v4)が真であるかどうかを検証します。失敗した場合は現在実行中の関数から抜けます。
 
#define ASSERT_PRED5(pred, v1, v2, v3, v4, v5)   NLIB_TESTING_PRED5_(pred, v1, v2, v3, v4, v5, NLIB_TESTING_FATAL_)
 pred(v1, v2, v3, v4, v5))が真であるかどうかを検証します。失敗した場合は現在実行中の関数から抜けます。
 
既存のブール関数のテスト(EXPECT_PREDn)

bool型を返す関数がある場合、以下のマクロに与えることで失敗時に関数の引数を表示できます。

#define EXPECT_PRED1(pred, v1)   NLIB_TESTING_PRED1_(pred, v1, NLIB_TESTING_NONFATAL_)
 ASSERT_PRED1()と同様ですが、失敗した場合でも現在実行中の関数から抜けません。
 
#define EXPECT_PRED2(pred, v1, v2)   NLIB_TESTING_PRED2_(pred, v1, v2, NLIB_TESTING_NONFATAL_)
 ASSERT_PRED2()と同様ですが、失敗した場合でも現在実行中の関数から抜けません。
 
#define EXPECT_PRED3(pred, v1, v2, v3)   NLIB_TESTING_PRED3_(pred, v1, v2, v3, NLIB_TESTING_NONFATAL_)
 ASSERT_PRED3()と同様ですが、失敗した場合でも現在実行中の関数から抜けません。
 
#define EXPECT_PRED4(pred, v1, v2, v3, v4)   NLIB_TESTING_PRED4_(pred, v1, v2, v3, v4, NLIB_TESTING_NONFATAL_)
 ASSERT_PRED4()と同様ですが、失敗した場合でも現在実行中の関数から抜けません。
 
#define EXPECT_PRED5(pred, v1, v2, v3, v4, v5)   NLIB_TESTING_PRED5_(pred, v1, v2, v3, v4, v5, NLIB_TESTING_NONFATAL_)
 ASSERT_PRED5()と同様ですが、失敗した場合でも現在実行中の関数から抜けません。
 
テスト専用ブール関数の定義による表示のカスタマイズ(ASSERT_PRED_FORMATn)

ASSERT_PREDn()において失敗した場合のメッセージをカスタマイズしたい場合は以下のマクロを使います。

#define ASSERT_PRED_FORMAT1(pred_format, v1)   NLIB_TESTING_PRED_FORMAT1_(pred_format, v1, NLIB_TESTING_FATAL_)
 失敗した際の表示をユーザーが定義できるASSERT_PRED1()です。失敗した場合は現在実行中の関数から抜けます。 [詳解]
 
#define ASSERT_PRED_FORMAT2(pred_format, v1, v2)   NLIB_TESTING_PRED_FORMAT2_(pred_format, v1, v2, NLIB_TESTING_FATAL_)
 失敗した際の表示をユーザーが定義できるASSERT_PRED2()です。失敗した場合は現在実行中の関数から抜けます。 [詳解]
 
#define ASSERT_PRED_FORMAT3(pred_format, v1, v2, v3)   NLIB_TESTING_PRED_FORMAT3_(pred_format, v1, v2, v3, NLIB_TESTING_FATAL_)
 失敗した際の表示をユーザーが定義できるASSERT_PRED3()です。失敗した場合は現在実行中の関数から抜けます。 [詳解]
 
#define ASSERT_PRED_FORMAT4(pred_format, v1, v2, v3, v4)   NLIB_TESTING_PRED_FORMAT4_(pred_format, v1, v2, v3, v4, NLIB_TESTING_FATAL_)
 失敗した際の表示をユーザーが定義できるASSERT_PRED4()です。失敗した場合は現在実行中の関数から抜けます。 [詳解]
 
#define ASSERT_PRED_FORMAT5(pred_format, v1, v2, v3, v4, v5)   NLIB_TESTING_PRED_FORMAT5_(pred_format, v1, v2, v3, v4, v5, NLIB_TESTING_FATAL_)
 失敗した際の表示をユーザーが定義できるASSERT_PRED5()です。失敗した場合は現在実行中の関数から抜けます。 [詳解]
 
テスト専用ブール関数の定義による表示のカスタマイズ(EXPECT_PRED_FORMATn)

EXPECT_PREDn()において失敗した場合のメッセージをカスタマイズしたい場合は以下のマクロを使います。

#define EXPECT_PRED_FORMAT1(pred_format, v1)   NLIB_TESTING_PRED_FORMAT1_(pred_format, v1, NLIB_TESTING_NONFATAL_)
 ASSERT_PRED_FORMAT1()と同様ですが、失敗した場合でも現在実行中の関数から抜けません。
 
#define EXPECT_PRED_FORMAT2(pred_format, v1, v2)   NLIB_TESTING_PRED_FORMAT2_(pred_format, v1, v2, NLIB_TESTING_NONFATAL_)
 ASSERT_PRED_FORMAT2()と同様ですが、失敗した場合でも現在実行中の関数から抜けません。
 
#define EXPECT_PRED_FORMAT3(pred_format, v1, v2, v3)   NLIB_TESTING_PRED_FORMAT3_(pred_format, v1, v2, v3, NLIB_TESTING_NONFATAL_)
 ASSERT_PRED_FORMAT3()と同様ですが、失敗した場合でも現在実行中の関数から抜けません。
 
#define EXPECT_PRED_FORMAT4(pred_format, v1, v2, v3, v4)   NLIB_TESTING_PRED_FORMAT4_(pred_format, v1, v2, v3, v4, NLIB_TESTING_NONFATAL_)
 ASSERT_PRED_FORMAT4()と同様ですが、失敗した場合でも現在実行中の関数から抜けません。
 
#define EXPECT_PRED_FORMAT5(pred_format, v1, v2, v3, v4, v5)   NLIB_TESTING_PRED_FORMAT5_(pred_format, v1, v2, v3, v4, v5, NLIB_TESTING_NONFATAL_)
 ASSERT_PRED_FORMAT5()と同様ですが、失敗した場合でも現在実行中の関数から抜けません。
 

詳解

述語アサーションが定義されています。

Pred.h に定義があります。