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.
Menu/Menu_test.h@85:87bc28b151d8, 2020-05-26 (annotated)
- Committer:
- evanso
- Date:
- Tue May 26 19:38:48 2020 +0000
- Revision:
- 85:87bc28b151d8
- Parent:
- 82:3211b31e9421
Spell checked all of code and comments
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| evanso | 65:daa792a09e1f | 1 | #ifndef MENU_TEST_H |
| evanso | 65:daa792a09e1f | 2 | #define MENU_TEST_H |
| evanso | 65:daa792a09e1f | 3 | |
| evanso | 65:daa792a09e1f | 4 | /** Menu Test |
| evanso | 85:87bc28b151d8 | 5 | * @brief Test the different Menu functions |
| evanso | 65:daa792a09e1f | 6 | * @author Benjamin Evans, University of Leeds |
| evanso | 65:daa792a09e1f | 7 | * @date May 2020 |
| evanso | 65:daa792a09e1f | 8 | * @return true if test are passed |
| evanso | 65:daa792a09e1f | 9 | */ |
| evanso | 82:3211b31e9421 | 10 | bool menu_select_part_test(MenuParts expected_menu_part, bool pressed) { |
| evanso | 85:87bc28b151d8 | 11 | // Objects required for test |
| evanso | 65:daa792a09e1f | 12 | Menu menu; |
| evanso | 65:daa792a09e1f | 13 | |
| evanso | 65:daa792a09e1f | 14 | // Initialise the menu |
| evanso | 65:daa792a09e1f | 15 | menu.init(); |
| evanso | 65:daa792a09e1f | 16 | |
| evanso | 85:87bc28b151d8 | 17 | if (pressed) { |
| evanso | 65:daa792a09e1f | 18 | printf("Expected menu part play : "); |
| evanso | 65:daa792a09e1f | 19 | }else{ |
| evanso | 65:daa792a09e1f | 20 | printf("Expected menu part main menu : "); |
| evanso | 65:daa792a09e1f | 21 | } |
| evanso | 65:daa792a09e1f | 22 | |
| evanso | 65:daa792a09e1f | 23 | // Calls menu select function with pressed and not pressed |
| evanso | 65:daa792a09e1f | 24 | menu.select_part(pressed); |
| evanso | 65:daa792a09e1f | 25 | |
| evanso | 65:daa792a09e1f | 26 | |
| evanso | 65:daa792a09e1f | 27 | // Gets the current menu part and checks if it is the expected menu part |
| evanso | 65:daa792a09e1f | 28 | if ( menu.get_current_menu_part() == expected_menu_part) { |
| evanso | 65:daa792a09e1f | 29 | printf ( "Passed!\n"); |
| evanso | 65:daa792a09e1f | 30 | return true; |
| evanso | 65:daa792a09e1f | 31 | } else { |
| evanso | 65:daa792a09e1f | 32 | printf ( "Failed!\n"); |
| evanso | 65:daa792a09e1f | 33 | return false; |
| evanso | 65:daa792a09e1f | 34 | } |
| evanso | 65:daa792a09e1f | 35 | } |
| evanso | 65:daa792a09e1f | 36 | |
| evanso | 82:3211b31e9421 | 37 | bool menu_scroll_test(Direction d_,MenuParts expected_menu_part) { |
| evanso | 85:87bc28b151d8 | 38 | // Objects required for test |
| evanso | 65:daa792a09e1f | 39 | Menu menu; |
| evanso | 65:daa792a09e1f | 40 | |
| evanso | 65:daa792a09e1f | 41 | // Initialise the menu |
| evanso | 65:daa792a09e1f | 42 | menu.init(); |
| evanso | 65:daa792a09e1f | 43 | |
| evanso | 65:daa792a09e1f | 44 | printf("Expected menu part %d : ",expected_menu_part); |
| evanso | 65:daa792a09e1f | 45 | |
| evanso | 65:daa792a09e1f | 46 | menu.menu_scroll(d_); |
| evanso | 65:daa792a09e1f | 47 | |
| evanso | 65:daa792a09e1f | 48 | // Calls menu select function to so we can then get the displayed menu part |
| evanso | 65:daa792a09e1f | 49 | menu.select_part(true); |
| evanso | 65:daa792a09e1f | 50 | |
| evanso | 65:daa792a09e1f | 51 | MenuParts actual_menu_part = menu.get_current_menu_part(); |
| evanso | 65:daa792a09e1f | 52 | |
| evanso | 65:daa792a09e1f | 53 | // Gets the current menu part and checks if it is the expected menu part |
| evanso | 65:daa792a09e1f | 54 | if ( actual_menu_part == expected_menu_part) { |
| evanso | 65:daa792a09e1f | 55 | printf ( "Passed!\n"); |
| evanso | 65:daa792a09e1f | 56 | return true; |
| evanso | 65:daa792a09e1f | 57 | } else { |
| evanso | 65:daa792a09e1f | 58 | printf ( "Failed! %d (expecting %d,)\n", actual_menu_part, |
| evanso | 65:daa792a09e1f | 59 | expected_menu_part); |
| evanso | 65:daa792a09e1f | 60 | return false; |
| evanso | 65:daa792a09e1f | 61 | } |
| evanso | 65:daa792a09e1f | 62 | } |
| evanso | 65:daa792a09e1f | 63 | |
| evanso | 70:8c4572d17441 | 64 | bool menu_draw_part_test(int expected_pixel_status, |
| evanso | 82:3211b31e9421 | 65 | int expected_postion_x, int expected_postion_y) { |
| evanso | 85:87bc28b151d8 | 66 | // Objects required for test |
| evanso | 70:8c4572d17441 | 67 | Menu menu; |
| evanso | 70:8c4572d17441 | 68 | N5110 lcd; |
| evanso | 70:8c4572d17441 | 69 | |
| evanso | 70:8c4572d17441 | 70 | // Initialise the Menu |
| evanso | 70:8c4572d17441 | 71 | menu.init(); |
| evanso | 70:8c4572d17441 | 72 | lcd.init(); |
| evanso | 70:8c4572d17441 | 73 | |
| evanso | 70:8c4572d17441 | 74 | printf("menu_draw_part x,y = %d,%d : ",expected_postion_x, |
| evanso | 70:8c4572d17441 | 75 | expected_postion_y ); |
| evanso | 70:8c4572d17441 | 76 | |
| evanso | 70:8c4572d17441 | 77 | menu.draw_part(lcd); |
| evanso | 70:8c4572d17441 | 78 | |
| evanso | 70:8c4572d17441 | 79 | // Reads pixel where hud is expected to be drawn |
| evanso | 70:8c4572d17441 | 80 | int actual_pixel_status = lcd.getPixel(expected_postion_x, |
| evanso | 70:8c4572d17441 | 81 | expected_postion_y); |
| evanso | 70:8c4572d17441 | 82 | |
| evanso | 85:87bc28b151d8 | 83 | // Checks if pixel is drawn and therefor testing it hasn’t gone of screen |
| evanso | 70:8c4572d17441 | 84 | if (actual_pixel_status == expected_pixel_status) { |
| evanso | 70:8c4572d17441 | 85 | printf ( "Passed!\n"); |
| evanso | 70:8c4572d17441 | 86 | return true; |
| evanso | 70:8c4572d17441 | 87 | } else { |
| evanso | 70:8c4572d17441 | 88 | printf ( "Failed! value = %d (expecting %d)\n", actual_pixel_status, |
| evanso | 70:8c4572d17441 | 89 | expected_pixel_status); |
| evanso | 70:8c4572d17441 | 90 | return false; |
| evanso | 70:8c4572d17441 | 91 | } |
| evanso | 70:8c4572d17441 | 92 | } |
| evanso | 70:8c4572d17441 | 93 | |
| evanso | 85:87bc28b151d8 | 94 | #endif |