English -->

# CUnit for Mr.Ando.

『CUnit for Mr.Ando』は CppUnit-x をベースにしたC言語テスティングフレームワークです。 これは、C言語のソースコードを単体テストのために供給します。
"CUnit for Mr.Ando" is CppUnit-x based C langage testing framework for Mr.Ando. It provide the C source code for unit testing.

## イントロダクション
Introduction.

JUnit は非常に強力なJava単体テストツールです。 しかしながら、多くのC言語技術者はJava言語を理解することができません。
JUnit is a very powerful Java simple unit test tool. However, many C language engineers cannot understand a Java language.
そのような技術者のために、 C/C++言語用にCppUnitが開発されました。 しかしながらCppUnitはGUIに対する知識が必要でした。 従って多くの(特に組み込み分野の)C言語技術者は CppUnitをコンパイルすることができません。
To a such an engineer sake, CppUnit was developed for C/C++ languages. However, the knowledge over GUI was required for CppUnit. Therefore, many C language engineers cannot compile CppUnit.
そのような技術者のために、 Tornadoなどのよりプアな環境で動作するCppUnit-xが開発されました。 しかしながら、多くのC言語技術者はC++言語を理解することなどできません。
従って多くの(特に組み込み分野の)C言語技術者は CppUnit-xをコンパイルすることもできません。
To a such an engineer sake, CppUnit-x was developed which operates in a poor environment such as Tornado. However, many C language engineers cannot do understanding C++ language etc. Therefore, many C language engineers cannot compile CppUnit-x too.
そうです。 驚くべきことに日本では COBOLを第一機械語とするコンピュータエンジニアがいまだわらわらいるのです!!
That's right. To a surprising thing,In Japan, many computer engineers' first machine language is still COBOL!!
安藤はしかしなんとしてもC言語技術者にテストさせたいと考えました。 なので安藤はC言語技術者のC言語技術者によるC言語技術者のための C言語テスティングフレームワーク を作成する必要性を感じました。
それが『CUnit for Mr.Ando』です。
Mr.Ando wanted a C language engineer to test!! So,Mr.Ando felt the necessity of creating the C language testing framework by the C language engineers of the C language engineers for the C language engineers.
It is "CUnit for Mr.Ando".
『CUnit for Mr.Ando』は、 以下のことに特に注意して作成されました。
Especially "CUnit for Mr.Ando" was noticed about the following things, and was created.

- すべてＣ言語で記述されていること。
  It MUST be described by 100% pure C language.
- どんなにプアな環境でも動作すること。
  Even the most poor environment MUST operate.
- .a/.soライブラリなどC言語技術者にとって複雑な機構を持たないこと。
  MUST not be complicated for a C language engineer (ex .a/.so lib).
- 簡単であること。
  MUST be easy.

## ダウンロード
Download.

以下からダウンロードしてください。
Please download from the following.

- CUnit for Mr.Ando(Sourceforge download site)

## 構成
Composition.

『CUnit for Mr.Ando』は以下のファイルとフォルダで構成されます。
"CUnit for Mr.Ando" is forrowing files and folders.

- ./CUnitForAndo/CUnitForAndo -- 本体.
- ./CUnitForAndo/easySample -- 簡単なサンプル.
- ./CUnitForAndo/Sample1/test
- ./CUnitForAndo/Sample1/test1
- ./CUnitForAndo/Sample1/test2
- ./CUnitForAndo/Sample1/real -- サンプル1.
- ./CUnitForAndo/Sample1/test
- ./CUnitForAndo/Sample2/real -- サンプル2.
- ./CUnitForAndo/Sample2/test
- ./CUnitForAndo/Sample3/real -- サンプル3.
- ./CUnitForAndo/Sample3/test
- ./Makefile -- 圧縮とテスト用.
- ./README.txt -- ライセンス.
- ./CUnitForAndo/html -- このファイル

『CUnit for Mr.Ando』は、以下のデファイン空間を使用します。
"CUnit for Mr.Ando" uses the following #define space.

- TEST_ASSERT(_a)
  _a が 0 のとき、テストは失敗です。
- TEST_ASSERT_EQUALS(_a,_b)
  _a == _b のとき、テストは成功です。
- TEST_ASSERT_NOT_EQUALS(_a,_b)
  _a != _b のとき、テストは成功です。

『CUnit for Mr.Ando』は、以下の関数を使用します。
"CUnit for Mr.Ando" uses the following function space.

- unsigned int testRunner(TEST_FUNCTION testFunction);
  テストを実施します。
- void doTestCountUp(void);
  テスト数をカウントします(内部で使用します)。

## ドキュメント
Document.

- 使い方
  How to.
- 品質マネジメントの原理
  The principle of a quority management.
- 単体テストの原理
  The principle of a unit test.
- 使い方(もう少し精しく)
  How to.(More...)
  - 順序(sequence)
  - 選択(selection)
  - 繰り返し(foreach)

## ライセンス
Licence

GNU Lesser General Public License

## 参考文献
Bibliography.

- 安藤振舞科学研究所
- CppUnit-x
- JUnit
- C言語におけるTDDの問題点と解決方法

## 作者
Auther.

安藤利和,PMP
Toshikazu Ando,PMP.

## 変更ログ

- 1.1.8 -- 英語のリンクを追加しました。
- 1.1.7 -- testRunner.h をC++対応しました。
- 1.1.6 -- ドキュメントとリンク追加
- 1.1.5 -- ドキュメント追加
- 1.1.4 -- ドキュメント追加
- 1.1.3 -- ドキュメント追加
- 1.1.2 -- ドキュメント追加
- 1.1.1 -- ファーストリリース

## P.S.

このファイルは日本人が書いてます。 もし異常な英語があったら、私に流暢な英訳を教えてください。
Japanese are writing this file. If abnormalities are looked at by English, please gime me fluenet English translation!!