重构显示逻辑为 MVP 架构,进行显示模块的解耦
This commit is contained in:
37
tests/test_p1_menu_tree_builder.c
Normal file
37
tests/test_p1_menu_tree_builder.c
Normal file
@@ -0,0 +1,37 @@
|
||||
#include "test_common.h"
|
||||
|
||||
#include <string.h>
|
||||
|
||||
#include "../src/Drv/menu/model/menu_tree_builder.h"
|
||||
|
||||
static int noop_proc(void)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
int main(void)
|
||||
{
|
||||
tagMenuCtrl ctrl;
|
||||
tagMenuItem items[4];
|
||||
const tagMenuModel model[4] = {
|
||||
{0, "Root", "", 0, 0, 0, (FUNCPTR)noop_proc},
|
||||
{1, "A", "", 0, 0, 0, (FUNCPTR)noop_proc},
|
||||
{1, "B", "", 0, 0, 0, (FUNCPTR)noop_proc},
|
||||
{2, "C", "", 0, 0, 0, (FUNCPTR)noop_proc},
|
||||
};
|
||||
|
||||
memset(&ctrl, 0, sizeof(ctrl));
|
||||
memset(items, 0, sizeof(items));
|
||||
|
||||
MenuTree_0LevelNumCal(&ctrl, model, 4);
|
||||
ASSERT_EQ_INT(1, ctrl.by0LevelNum);
|
||||
|
||||
MenuTree_MainCreate(items, model, 4);
|
||||
ASSERT_TRUE(items[0].ptLower == &items[1]);
|
||||
ASSERT_TRUE(items[1].ptBehind == &items[2]);
|
||||
ASSERT_TRUE(items[2].ptBefore == &items[1]);
|
||||
ASSERT_TRUE(items[2].ptLower == &items[3]);
|
||||
ASSERT_TRUE(items[3].ptHigher == &items[2]);
|
||||
|
||||
return 0;
|
||||
}
|
||||
Reference in New Issue
Block a user