Microchip® Advanced Software Framework

unit_tests.c File Reference

Unit tests for spinner widget.

Copyright (c) 2011-2018 Microchip Technology Inc. and its subsidiaries.

#include <stdint.h>
#include <stdbool.h>
#include <progmem.h>
#include <asf.h>
#include <conf_test.h>

Functions

int main (void)
 Run spinner widget unit tests. More...
 
 PROGMEM_DECLARE (char const, spinnertitle[])
 
 PROGMEM_DECLARE (char const, spinnertitle2[])
 
 PROGMEM_DECLARE (char const, spinnertitle3[])
 
 PROGMEM_DECLARE (char const, spinner_choice1[])
 
 PROGMEM_DECLARE (char const, spinner_choice2[])
 
 PROGMEM_DECLARE (char const, spinner_choice3[])
 
 PROGMEM_DECLARE (char const, spinner_choice4[])
 
Spinctrl unit test functions
static void run_single_spinner_spincollection_test (const struct test_case *test)
 Test spinning through a spincollection with only one spinner. More...
 
static void run_two_spinners_spincollection_test (const struct test_case *test)
 Test spinning through a spincollection with two spinners. More...
 
static void run_three_spinners_spincollection_test (const struct test_case *test)
 Test spinning through a spincollection with three spinners. More...
 
static void run_event_back_spincollection_test (const struct test_case *test)
 Test spinning through a spincollection and cancelling. More...
 
static void run_cancel_spinner_spincollection_test (const struct test_case *test)
 Test selecting a spinner in a spincollection, changing and saving its value, then selecting the spinner again, but this time not saving the result. More...
 

Variables

PROGMEM_STRING_T spinner_choicestrings []
 

PROGMEM_DECLARE ( char  const,
spinnertitle  [] 
)
PROGMEM_DECLARE ( char  const,
spinnertitle2  [] 
)
PROGMEM_DECLARE ( char  const,
spinnertitle3  [] 
)
PROGMEM_DECLARE ( char  const,
spinner_choice1  [] 
)
PROGMEM_DECLARE ( char  const,
spinner_choice2  [] 
)
PROGMEM_DECLARE ( char  const,
spinner_choice3  [] 
)
PROGMEM_DECLARE ( char  const,
spinner_choice4  [] 
)
static void run_cancel_spinner_spincollection_test ( const struct test_case test)
static

Test selecting a spinner in a spincollection, changing and saving its value, then selecting the spinner again, but this time not saving the result.

This test checks that spinning in a spincollection with three spinners, selecting a spinner, changing and saving its value and then select and change its value again, but this time not saving, will result in the saved result being stored in the results array.

Parameters
testCurrent test case.

References GFX_MONO_SPINCTRL_EVENT_FINISH, gfx_mono_spinctrl_init(), GFX_MONO_SPINCTRL_KEYCODE_BACK, GFX_MONO_SPINCTRL_KEYCODE_DOWN, GFX_MONO_SPINCTRL_KEYCODE_ENTER, GFX_MONO_SPINCTRL_KEYCODE_UP, gfx_mono_spinctrl_spincollection_add_spinner(), gfx_mono_spinctrl_spincollection_init(), gfx_mono_spinctrl_spincollection_process_key(), spinner_choicestrings, SPINTYPE_INTEGER, SPINTYPE_STRING, and test_assert_true.

Referenced by main().

static void run_event_back_spincollection_test ( const struct test_case test)
static

Test spinning through a spincollection and cancelling.

This test checks that spinning in a spincollection with two spinners and pressing the back button results in the correct event.

Parameters
testCurrent test case.

References GFX_MONO_SPINCTRL_EVENT_BACK, gfx_mono_spinctrl_init(), GFX_MONO_SPINCTRL_KEYCODE_BACK, GFX_MONO_SPINCTRL_KEYCODE_DOWN, GFX_MONO_SPINCTRL_KEYCODE_ENTER, gfx_mono_spinctrl_spincollection_add_spinner(), gfx_mono_spinctrl_spincollection_init(), gfx_mono_spinctrl_spincollection_process_key(), SPINTYPE_INTEGER, and test_assert_true.

Referenced by main().

static void run_single_spinner_spincollection_test ( const struct test_case test)
static

Test spinning through a spincollection with only one spinner.

This test checks that spinning in a spincollection with only one integer spinner gives the correct result.

Parameters
testCurrent test case.

References GFX_MONO_SPINCTRL_EVENT_FINISH, gfx_mono_spinctrl_init(), GFX_MONO_SPINCTRL_KEYCODE_DOWN, GFX_MONO_SPINCTRL_KEYCODE_ENTER, GFX_MONO_SPINCTRL_KEYCODE_UP, gfx_mono_spinctrl_spincollection_add_spinner(), gfx_mono_spinctrl_spincollection_init(), gfx_mono_spinctrl_spincollection_process_key(), SPINTYPE_INTEGER, and test_assert_true.

Referenced by main().

static void run_three_spinners_spincollection_test ( const struct test_case test)
static

Test spinning through a spincollection with three spinners.

This test checks that spinning in a spincollection with two integer spinners and one string spinner gives the correct result.

Parameters
testCurrent test case.

References GFX_MONO_SPINCTRL_EVENT_FINISH, gfx_mono_spinctrl_init(), GFX_MONO_SPINCTRL_KEYCODE_DOWN, GFX_MONO_SPINCTRL_KEYCODE_ENTER, GFX_MONO_SPINCTRL_KEYCODE_UP, gfx_mono_spinctrl_spincollection_add_spinner(), gfx_mono_spinctrl_spincollection_init(), gfx_mono_spinctrl_spincollection_process_key(), spinner_choicestrings, SPINTYPE_INTEGER, SPINTYPE_STRING, and test_assert_true.

Referenced by main().

static void run_two_spinners_spincollection_test ( const struct test_case test)
static

Test spinning through a spincollection with two spinners.

This test checks that spinning in a spincollection with one integer spinner and one string spinner gives the correct result.

Parameters
testCurrent test case.

References GFX_MONO_SPINCTRL_EVENT_FINISH, gfx_mono_spinctrl_init(), GFX_MONO_SPINCTRL_KEYCODE_DOWN, GFX_MONO_SPINCTRL_KEYCODE_ENTER, GFX_MONO_SPINCTRL_KEYCODE_UP, gfx_mono_spinctrl_spincollection_add_spinner(), gfx_mono_spinctrl_spincollection_init(), gfx_mono_spinctrl_spincollection_process_key(), spinner_choicestrings, SPINTYPE_INTEGER, SPINTYPE_STRING, and test_assert_true.

Referenced by main().

PROGMEM_STRING_T spinner_choicestrings[]
Initial value:
= {
spinner_choice1,
spinner_choice2,
spinner_choice3,
spinner_choice4,
}

Referenced by run_cancel_spinner_spincollection_test(), run_three_spinners_spincollection_test(), and run_two_spinners_spincollection_test().