Cette page vous donne les différences entre la révision choisie et la version actuelle de la page.
|
tests [2015/05/17 01:33] woly [Les tests] |
tests [2015/09/12 15:31] (Version actuelle) gbdivers |
||
|---|---|---|---|
| Ligne 14: | Ligne 14: | ||
| * CTest | * CTest | ||
| * Autres | * Autres | ||
| + | |||
| + | <code cpp main.cpp> | ||
| + | #include <iostream> | ||
| + | #include <string> | ||
| + | using namespace std; | ||
| + | |||
| + | double eval(string const&) { | ||
| + | return 1.0; | ||
| + | } | ||
| + | |||
| + | int main() { | ||
| + | using Test = pair<string, double>; | ||
| + | using Tests = Test[]; | ||
| + | const Tests tests { | ||
| + | { "1 1 +", 2.0 }, | ||
| + | { "1 1 -", 0.0 }, | ||
| + | { "1 1 *", 1.0 }, | ||
| + | { "1 1 /", 1.0 } | ||
| + | }; | ||
| + | for (auto test: tests) { | ||
| + | const auto result = eval(test.first); | ||
| + | cout << '\"' << test.first << "\" == " << result << | ||
| + | (test.second == result ? " [pass]" : " [fail]") << endl; | ||
| + | } | ||
| + | |||
| + | return 0; | ||
| + | } | ||
| + | </code> | ||
| + | |||
| + | affiche : | ||
| + | |||
| + | <code cpp main.cpp> | ||
| + | "1 1 +" == 1 [fail] | ||
| + | "1 1 -" == 1 [fail] | ||
| + | "1 1 *" == 1 [pass] | ||
| + | "1 1 /" == 1 [pass] | ||
| + | </code> | ||
| + | |||
| + | Idée d'exos : proposer un code avec erreurs pas forcement visibles. Ecrire des tests permettant d'identifier les erreurs. | ||
| ===== Les tests fonctionnels ===== | ===== Les tests fonctionnels ===== | ||