adding test_game_undo + edit CMake

This commit is contained in:
thibault perrier committed 2021-12-16 10:56:39 +01:00
1 parent a6acbba9aa
commit 2f39616e60
2 files changed
+30

No files matched your search

+1
View File
@@ -52,6 +52,7 @@ add_test(test_thperrier_game_is_blank ./game_test_thperrier game_is_blank)
add_test(test_thperrier_game_is_lightbulb ./game_test_thperrier game_is_lightbulb)
add_test(test_thperrier_game_is_black ./game_test_thperrier game_is_black)
add_test(test_thperrier_game_get_black_number ./game_test_thperrier game_get_black_number)
add_test(test_thperrier_game_undo ./game_test_thperrier game_undo)
#Tests NNUNES
add_test(test_nnunes_dummy ./game_test_nnunes dummy)
+29
View File
@@ -5,6 +5,7 @@
#include <string.h>
#include "game.h"
#include "game_aux.h"
#include "game_ext.h"
/* ********** DUMMY ********** */
bool test_dummy() {
@@ -220,6 +221,32 @@ bool test_game_copy() {
game_delete(g3);
return true;
}
/* ********** game_undo ********** */
bool test_game_undo(){
game g1 = game_new_empty();
game_play_move(g1, 2, 3, S_LIGHTBULB);
game_play_move(g1, 0, 0, S_MARK);
game_play_move(g1, 2, 3, S_BLANK);
game g2 = game_copy(g1);
game_play_move(g2, 2, 3, S_LIGHTBULB);
game_undo(g1);
if (!game_equal(g1, g2)){
return false;
}
game_play_move(g2, 0, 0, S_BLANK);
game_undo(g1);
if (!game_equal(g1, g2)){
return false;
}
game_play_move(g2, 2, 3, S_BLANK);
game_undo(g1);
if (!game_equal(g1, g2)){
return false;
}
return true;
}
/* ********** usage ********** */
void usage(int argc, char* argv[]) {
fprintf(stderr, "Usage: %s <testname>\n", argv[0]);
@@ -248,6 +275,8 @@ int main(int argc, char* argv[]) {
success = test_game_is_black();
} else if (strcmp("game_get_black_number", argv[1]) == 0) {
success = test_game_get_black_number();
} else if (strcmp("game_undo", argv[1]) == 0) {
success = test_game_undo();
} else {
fprintf(stderr, "test \"%s\" is not a valid test name.\n", argv[1]);
return EXIT_FAILURE;