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 ===== |