#ifdef TEST #include "unity.h" #include "unistd.h" #include "Modules.c" void setUp(void) { } void tearDown(void) { } void test_checkBallPosition_output_if_goal(void) { /* arrange */ binX = 1; binY = 1; ballX = 1; ballY = 3; /* act */ int output = checkBallPosition(); /* assert */ TEST_ASSERT_EQUAL(1, output); } void test_checkBallPosition_output_if_no_goal(void) { /* arrange */ binX = 1; binY = 1; ballX = 1; ballY = 1; /* act */ int output = checkBallPosition(); /* assert */ TEST_ASSERT_EQUAL(2, output); } void test_sortScoreboard_check_if_file_is_created(void) { /* arrange */ /* act */ if (access("ScoreBoard.txt", 0) == 0) { remove("ScoreBoard.txt"); } sortScoreboard(); int output = access("ScoreBoard.txt", 0); /* assert */ TEST_ASSERT_EQUAL(0, output); } void test_clearField_check_if_Playgroung_clear(void) { /* arrange */ field[3][3]='T'; int output = 0; /* act */ clearField(); for (int i = 0; i < fieldWidth; i++) { for (int j = 0; j < fieldHeigth; j++) { if(field[i][j] != ' ') { output=1; } } } /* assert */ TEST_ASSERT_EQUAL(0, output); } void test_getStartPosition_check_given_position(void) { /* arrange */ int output = 0; int width = 10; int heigth = 10; /* act */ buildBin(width, heigth); if (field[width][heigth] != 'V' || field[width + 1][heigth + 1] != '\\' || field[width + 2][heigth + 2] != '\\' || field[width - 1][heigth + 1] != '/' || field[width - 2][heigth + 2] != '/' || field[width][heigth + 1] != ' ') output = 1; /* assert */ TEST_ASSERT_EQUAL(0, output); } void test_generateField_check_walls_length_correctly_inserted(void){ /* arrange */ int output = 0; int wallX = 5; int wallY = 5; int wallLength = 3; int counter = wallLength; int binX = 10; /* act */ generateField(); for (int i = 0; i < fieldWidth; i++) { for(int j = 0; j < fieldHeigth; j++){ if(field[i][j] == '_') counter++; } } if(counter != wallLength) output = 1; /* assert */ TEST_ASSERT_EQUAL(0, output); } void test_sortScoreboard_check_if_file_is_being_read(void) { /* arrange */ char Text[4]; FILE *x; int y; /* act */ if (access("ScoreBoard.txt", 0) == 0) { remove("ScoreBoard.txt"); } sortScoreboard(); x = fopen("ScoreBoard.txt", "a+"); fputs("Test", x); rewind(x); for(int i = 0; i < 4; i++) { fscanf(x, "%s", &Text[i]); } if(strcmp(Text, "Test") == 0) { y = 0; } /* assert */ TEST_ASSERT_EQUAL(0, y); } void test_generateField_check_last_position_change_on_score(void) { /* arrange */ scorePoints = 321; int output = 1; /* act */ generateField(); if (field[12][1] != '0') { output = 0; } /* assert */ TEST_ASSERT_EQUAL(0, output); } void test_generateField_check_middle_position_change_on_score(void) { /* arrange */ scorePoints = 321; int output = 1; /* act */ generateField(); if (field[11][1] != '0') { output = 0; } /* assert */ TEST_ASSERT_EQUAL(0, output); } void test_generateField_check_first_position_change_on_score(void) { /* arrange */ scorePoints = 321; int output = 1; /* act */ generateField(); if (field[10][1] == '3') { output = 0; } /* assert */ TEST_ASSERT_EQUAL(0, output); } void test_generateField_check_if_first_life_away(void) { /* arrange */ int output = 1; lifeCount=2; /* act */ generateField(); if (field[3][1] == 'X') { output = 0; } /* assert */ TEST_ASSERT_EQUAL(0, output); } void test_generateField_check_if_second_life_away(void) { /* arrange */ int output = 1; lifeCount = 1; /* act */ generateField(); if (field[2][1] == 'X') { output = 0; } /* assert */ TEST_ASSERT_EQUAL(0, output); } void test_generateField_check_if_third_life_away(void) { /* arrange */ int output = 1; lifeCount = 0; /* act */ generateField(); if (field[1][1] == 'X') { output = 0; } /* assert */ TEST_ASSERT_EQUAL(0, output); } void test_generateField_negative_points_not_possible(void){ int output = 1; scorePoints = -50; generateField(); output = scorePoints; TEST_ASSERT_EQUAL(0, output); } void test_generateField_check_if_first_live_is_displayed_correctly(void) { /* arrange */ int output = 1; lifeCount = 3; /* act */ generateField(); if (field[3][1] == 'O') { output = 0; } /* assert */ TEST_ASSERT_EQUAL(0, output); } void test_generateField_check_if_second_live_is_displayed_correctly(void) { /* arrange */ int output = 1; lifeCount = 2; /* act */ generateField(); if (field[2][1] == 'O') { output = 0; } /* assert */ TEST_ASSERT_EQUAL(0, output); } void test_generateField_check_if_third_live_is_displayed_correctly(void) { /* arrange */ int output = 1; lifeCount = 1; /* act */ generateField(); if (field[1][1] == 'O') { output = 0; } /* assert */ TEST_ASSERT_EQUAL(0, output); } void test_generateField_check_if_wind_form_right_correct_displayed(void){ /* arrange */ int output = 1; windForce = -2; /* act */ generateField(); if (field[19][1] == '<') { output = 0; } /* assert */ TEST_ASSERT_EQUAL(0, output); } #endif // TEST