Merge branch 'main' into HEAD

This commit is contained in:
Theophyl Hoguet committed 2021-11-16 16:23:39 +01:00
commit c8bff540cc
3 files changed
+218 -26

No files matched your search

+10 -1
View File
@@ -15,11 +15,13 @@ set(CMAKE_C_FLAGS "-std=c99 -g -Wall")
add_executable(game_text game_text.c)
add_executable(game_test_thoguet game_test_thoguet.c)
add_executable(game_test_thperrier game_test_thperrier.c)
add_executable(game_test_nnunes game_test_nnunes.c)
#les dépendances sont calculées automatiquement
target_link_libraries(game_text game)
target_link_libraries(game_test_thoguet game)
target_link_libraries(game_test_thperrier game)
target_link_libraries(game_test_nnunes game)
add_library (game game.o game_aux.c)
add_test(test_thoguet_dummy ./game_test_thoguet dummy)
@@ -40,4 +42,11 @@ add_test(test_thperrier_game_new_empty ./game_test_thperrier game_new_empty)
add_test(test_thperrier_game_equal ./game_test_thperrier game_equal)
add_test(test_thperrier_game_delete ./game_test_thperrier game_delete)
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_lightbulb ./game_test_thperrier game_is_lightbulb)
add_test(test_nnunes_dummy ./game_test_thperrier dummy)
add_test(test_nnunes_game_get_square ./game_test_nnunes game_get_square)
add_test(test_nnunes_game_get_state ./game_test_nnunes game_get_state)
add_test(test_nnunes_game_get_flags ./game_test_nnunes game_get_flags)
add_test(test_nnunes_game_is_marked ./game_test_nnunes game_is_marked)
add_test(test_nnunes_game_is_lighted ./game_test_nnunes game_is_lighted)
+5 -5
View File
@@ -12,16 +12,16 @@ Projet Techno
| [game_copy](./game_test_thperrier.c#L32) | [game game_copy(cgame g)](./game.h#L90-96) | @thperrier | | <ul><li>[X] </li></ul> |
| [game_equal](./game_test_thperrier.c#L?) | [bool game_equal(cgame g1, cgame g2)](./game.h#L98-106) | @thperrier | | <ul><li>[X] </li></ul> |
| [game_delete](./game_test_thperrier.c#L?) | [void game_delete(game g);](./game.h#L108-113) | @thperrier | | <ul><li>[x] </li></ul> |
| [game_set_square](./game_test_nnunes.c#L?) | [void game_set_square(game g, uint i, uint j, square s)](./game.h#L115-128) | @nnunes | | <ul><li>[ ] </li></ul> |
| [game_set_square](./game_test_nnunes.c#L?) | [void game_set_square(game g, uint i, uint j, square s)](./game.h#L115-128) | @nnunes | | <ul><li>[X] </li></ul> |
| [game_get_square](./game_test_thoguet.c#L89) | [square game_get_square(cgame g, uint i, uint j)](./game.h#L130-140) | @thoguet | | <ul><li>[x] </li></ul> |
| [game_get_state](./game_test_nnunes.c#L?) | [square game_get_state(cgame g, uint i, uint j)](./game.h#L142-153) | @nnunes | | <ul><li>[ ] </li></ul> |
| [game_get_flags](./game_test_nnunes.c#L?) | [square game_get_flags(cgame g, uint i, uint j)](./game.h#L155-166) | @nnunes | | <ul><li>[ ] </li></ul> |
| [game_get_state](./game_test_nnunes.c#L?) | [square game_get_state(cgame g, uint i, uint j)](./game.h#L142-153) | @nnunes | | <ul><li>[X] </li></ul> |
| [game_get_flags](./game_test_nnunes.c#L?) | [square game_get_flags(cgame g, uint i, uint j)](./game.h#L155-166) | @nnunes | | <ul><li>[X] </li></ul> |
| [game_is_blank](./game_test_thperrier.c#L?) | [bool game_is_blank(cgame g, uint i, uint j)](./game.h#L168-178) | @thperrier | | <ul><li>[x] </li></ul> |
| [game_is_lightbulb](./game_test_thperrier.c#L?) | [bool game_is_lightbulb(cgame g, uint i, uint j)](./game.h#L180-190) | @thperrier | | <ul><li>[x] </li></ul> |
| [game_is_black](./game_test_thperrier.c#L?) | [bool game_is_black(cgame g, uint i, uint j)](./game.h#L192-202) | @thperrier | | <ul><li>[ ] </li></ul> |
| [game_get_black_number](./game_test_thperrier.c#L?) | [int game_get_black_number(cgame g, uint i, uint j)](./game.h#L204-214) | @thperrier | | <ul><li>[ ] </li></ul> |
| [game_is_marked](./game_test_nnunes.c#L?) | [bool game_is_marked(cgame g, uint i, uint j)](./game.h#L216-226) | @nnunes | | <ul><li>[ ] </li></ul> |
| [game_is_lighted](./game_test_nnunes.c#L?) | [bool game_is_lighted(cgame g, uint i, uint j)](./game.h#L228-238) | @nnunes | | <ul><li>[ ] </li></ul> |
| [game_is_marked](./game_test_nnunes.c#L?) | [bool game_is_marked(cgame g, uint i, uint j)](./game.h#L216-226) | @nnunes | | <ul><li>[X] </li></ul> |
| [game_is_lighted](./game_test_nnunes.c#L?) | [bool game_is_lighted(cgame g, uint i, uint j)](./game.h#L228-238) | @nnunes | | <ul><li>[X] </li></ul> |
| [game_has_error](./game_test_nnunes.c#L?) | [bool game_has_error(cgame g, uint i, uint j)](./game.h#L240-252) | @nnunes | | <ul><li>[ ] </li></ul> |
| [game_check_move](./game_test_thoguet.c#L439-463) | [bool game_check_move(cgame g, uint i, uint j, square s)](./game.h#L242-269) | @thoguet | | <ul><li>[X] </li></ul> |
| [game_play_move](./game_test_thoguet.c#L412-436) | [void game_play_move(game g, uint i, uint j, square s)](./game.h#L271-284) | @thoguet | | <ul><li>[X] </li></ul> |
+203 -20
View File
@@ -2,35 +2,218 @@
#include <stdlib.h>
#include <stdbool.h>
#include <string.h>
#include <assert.h>
#include "game.h"
#include "game_aux.h"
bool test_dummy(void){
return EXIT_SUCCESS;
}
int usage(int argc, char *argv[])
void usage(int argc, char *argv[])
{
fprintf(stderr, "Usage: %s <testname> [<...>]\n", argv[0]);
exit(EXIT_FAILURE);
}
/* ************** game_get_square ************** */
bool test_game_set_square(void){
game g = game_new_empty();
game_set_square(g, 0, 0, S_LIGHTBULB);
if (game_get_square(g, 0, 0) != S_LIGHTBULB){
game_delete(g);
return false;
}
game_set_square(g, 0, 0, S_BLANK);
if (game_get_square(g, 0, 0) != S_BLANK){
game_delete(g);
return false;
}
game_set_square(g, 0, 0, S_MARK);
if (game_get_square(g, 0, 0) != S_MARK){
game_delete(g);
return false;
}
game_set_square(g, 0, 0, S_BLACK);
if (game_get_square(g, 0, 0) != S_BLACK){
game_delete(g);
return false;
}
game_set_square(g, 0, 0, S_BLACK0);
if (game_get_square(g, 0, 0) != S_BLACK0){
game_delete(g);
return false;
}
game_set_square(g, 0, 0, S_BLACK1);
if (game_get_square(g, 0, 0) != S_BLACK1){
game_delete(g);
return false;
}
game_set_square(g, 0, 0, S_BLACK2);
if (game_get_square(g, 0, 0) != S_BLACK2){
game_delete(g);
return false;
}
game_set_square(g, 0, 0, S_BLACK3);
if (game_get_square(g, 0, 0) != S_BLACK3){
game_delete(g);
return false;
}
game_set_square(g, 0, 0, S_BLACK4);
if (game_get_square(g, 0, 0) != S_BLACK4){
game_delete(g);
return false;
}
game_set_square(g, 0, 0, S_BLACKU);
if (game_get_square(g, 0, 0) != S_BLACKU){
game_delete(g);
return false;
}
game_set_square(g, 0, 0, S_F_LIGHTED);
if (game_get_square(g, 0, 0) != F_LIGHTED){
game_delete(g);
return false;
}
game_set_square(g, 0, 0, F_ERROR);
if (game_get_square(g, 0, 0) != F_ERROR){
game_delete(g);
return false;
}
game_delete(g);
return true;
}
/* ************** game_get_state ************** */
bool test_game_get_state(void){
game g = game_new_empty();
game_set_square(g, 0, 0, S_LIGHTBULB);
if (game_get_state(g, 0, 0) != S_LIGHTBULB){
game_delete(g);
return false;
}
game_set_square(g, 0, 0, S_BLANK);
if (game_get_state(g, 0, 0) != S_BLANK){
game_delete(g);
return false;
}
game_set_square(g, 0, 0, S_MARK);
if (game_get_state(g, 0, 0) != S_MARK){
game_delete(g);
return false;
}
game_set_square(g, 0, 0, S_BLACK);
if (game_get_state(g, 0, 0) != S_BLACK){
game_delete(g);
return false;
}
game_set_square(g, 0, 0, S_BLACK0);
if (game_get_state(g, 0, 0) != S_BLACK0){
game_delete(g);
return false;
}
game_set_square(g, 0, 0, S_BLACK1);
if (game_get_state(g, 0, 0) != S_BLACK1){
game_delete(g);
return false;
}
game_set_square(g, 0, 0, S_BLACK2);
if (game_get_state(g, 0, 0) != S_BLACK2){
game_delete(g);
return false;
}
game_set_square(g, 0, 0, S_BLACK3);
if (game_get_state(g, 0, 0) != S_BLACK3){
game_delete(g);
return false;
}
game_set_square(g, 0, 0, S_BLACK4);
if (game_get_state(g, 0, 0) != S_BLACK4){
game_delete(g);
return false;
}
game_set_square(g, 0, 0, S_BLACKU);
if (game_get_state(g, 0, 0) != S_BLACKU){
game_delete(g);
return false;
}
game_delete(g);
return true;
}
/* ************** game_get_flags ************** */
bool test_game_get_flags(void){
game g = game_new_empty();
game_set_square(g, 0, 0, S_F_LIGHTED);
if (game_get_flags(g, 0, 0) != F_LIGHTED){
game_delete(g);
return false;
}
game_set_square(g, 0, 0, F_ERROR);
if (game_get_flags(g, 0, 0) != F_ERROR){
game_delete(g);
return false;
}
game_delete(g);
return true;
}
/* ************** game_is_marked ************** */
bool test_game_is_marked(void){
game g = game_new_empty();
game_set_square(g, 0, 0, S_MARK);
if ((game_get_square(g, 0, 0) == S_MARK) && game_is_marked(g, 0, 0)){
game_delete(g);
return true;
}
game_delete(g);
return false;
}
/* ************** game_is_lighted ************** */
bool test_game_is_marked(void){
game g = game_new_empty();
game_set_square(g, 0, 0, F_LIGHTED);
if ((game_get_square(g, 0, 0) == F_LIGHTED) && game_is_lighted(g, 0, 0)){
game_delete(g);
return true;
}
game_delete(g);
return false;
}
int main(int argc, char * argv[]){
if (argc == 1){
usage(argc, argv);
}
fprintf(stderr, "=> Start test \"%s\"\n", argv[1]);
bool ok = false;
if (strcmp("dummy", argv[1]) == 0)
ok = test_dummy();
else {
fprintf(stderr, "Error: test \"%s\" not found!\n", argv[1]);
exit(EXIT_FAILURE);
}
if (!ok){
fprintf(stderr, "Test \"%s\" finished: SUCCESS\n", argv[1]);
return EXIT_SUCCESS;
}
else {
fprintf(stderr, "Test \"%s\" finished: FAILURE\n", argv[1]);
return EXIT_FAILURE;
}
if (argc != 2){
usage(argc, argv);
}
fprintf(stderr, "=> Start test \"%s\"\n", argv[1]);
bool ok = false;
if (strcmp("dummy", argv[1]) == 0)
ok = test_dummy();
else if (strcmp("game_get_square", argv[1]) == 0){
success = test_game_get_square();
}
else if (strcmp("game_get_state", argv[1]) == 0){
success = test_game_get_state();
}
else if (strcmp("game_get_falgs", argv[1]) == 0){
success = test_game_get_flags();
}
else if (strcmp("game_is_marked", argv[1]) == 0){
success = test_game_is_marked();
}
else if (strcmp("game_is_lighted", argv[1]) == 0){
success = test_game_is_lighted();
}
else {
fprintf(stderr, "Error: test \"%s\" not found!\n", argv[1]);
exit(EXIT_FAILURE);
}
if (!ok){
fprintf(stderr, "Test \"%s\" finished: SUCCESS\n", argv[1]);
return EXIT_SUCCESS;
}
else {
fprintf(stderr, "Test \"%s\" finished: FAILURE\n", argv[1]);
return EXIT_FAILURE;
}
}