Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Spaceship/Spaceship_test.h
- Committer:
- evanso
- Date:
- 2020-04-26
- Revision:
- 13:12276eed13ac
- Parent:
- 12:1c0b6796aaca
- Child:
- 14:7419c680656f
File content as of revision 13:12276eed13ac:
#ifndef SPACESHIP_TEST_H
#define SPACESHIP_TEST_H
// Objects reqired for test ----------------------------------------------------
Gamepad pad;
N5110 lcd;
Spaceship spaceship;
Direction d_;
/** Spaceship Test
@brief Checks Spcaceship goes to the correct postion when moved and doesnt go of map
@author Benjamin Evans, University of Leeds
@date April 2020
@return true if test are passed
*/
bool spaceship_movement_test(Direction d_, int expected_x,int expected_y){
// Initialise spaceship in start postion of 36, 22
pad.init();
lcd.init();
spaceship.init();
printf("spaceship_movement = %d,%d : ", expected_x, expected_y );
// Moves spcaeship
spaceship.movement(d_);
//Reads finish spaceship positon
int finish_x_postion = spaceship.get_position_x_spaceship();
int finish_y_postion = spaceship.get_position_y_spaceship();
// Checks final position with espected
if (finish_x_postion == expected_x && finish_y_postion == expected_y) {
printf ( "Passed!\n");
return true;
} else {
printf ( "Failed! value = %d,%d (expecting %d,%d)\n", finish_x_postion, finish_y_postion, expected_x, expected_y);
return false;
}
}
bool spaceship_draw_test(Direction d_, int expected_pixel_status, int expected_postion_x, int expected_postion_y){
// Initialise spaceship in start postion of 36, 22
pad.init();
lcd.init();
spaceship.init();
// Reads start spaceship postion
printf("spaceship_draw x,y= %d,%d : ",expected_postion_x, expected_postion_y );
// Moves spcaeship to max/min x and y postions to test off_screen_x_y_checker
for (int i = 0; i < 30; i++){
spaceship.movement(d_);
}
// Draws spaceship
spaceship.draw(lcd);
// Reads pixel where spaceship is expected to be drawn
int actual_pixel_status = lcd.getPixel(expected_postion_x, expected_postion_y);
//Reads finish spaceship positon
int finish_x_postion = spaceship.get_position_x_spaceship();
int finish_y_postion = spaceship.get_position_y_spaceship();
// Checks if pixel is drawn and therefor testing it hasnt gone of screen
if (actual_pixel_status) {
printf ( "Passed!\n");
return true;
} else {
printf ( "Failed! value = %d (expecting %d)\n", actual_pixel_status, expected_pixel_status);
printf("\nactual psotion x,y= %d,%d : \n ",finish_x_postion, finish_y_postion );
return false;
}
}
#endif