27 #include "../client/ui/ui_nodes.h"
28 #include "../client/ui/ui_timer.h"
30 class UITest:
public ::testing::Test {
54 ASSERT_TRUE(UI_PrivateGetFirstTimer() ==
nullptr);
57 ASSERT_TRUE(UI_PrivateGetFirstTimer() == b);
60 ASSERT_TRUE(UI_PrivateGetFirstTimer() == a);
63 ASSERT_TRUE(UI_PrivateGetFirstTimer()->next->next == c);
67 ASSERT_TRUE(a->
owner !=
nullptr);
68 ASSERT_TRUE(UI_PrivateGetFirstTimer() == c);
69 ASSERT_TRUE(UI_PrivateGetFirstTimer()->next ==
nullptr);
72 ASSERT_TRUE(UI_PrivateGetFirstTimer() == a);
73 ASSERT_TRUE(UI_PrivateGetFirstTimer()->next == c);
75 UI_PrivateInsertTimerInActiveList(a->
next, b);
76 ASSERT_TRUE(UI_PrivateGetFirstTimer() == a);
77 ASSERT_TRUE(UI_PrivateGetFirstTimer()->next == b);
78 ASSERT_TRUE(UI_PrivateGetFirstTimer()->next->next == c);
81 ASSERT_TRUE(UI_PrivateGetFirstTimer() == a);
82 ASSERT_TRUE(UI_PrivateGetFirstTimer()->next == c);
85 ASSERT_TRUE(UI_PrivateGetFirstTimer() == c);
88 ASSERT_TRUE(UI_PrivateGetFirstTimer() ==
nullptr);
89 ASSERT_TRUE(c->
owner ==
nullptr);
TEST_F(UITest, TimerDataStructure)
unittest around timer data structure. It not test timer execution.
uiTimer_t * UI_AllocTimer(uiNode_t *node, int firstDelay, timerCallback_t callback)
Allocate a new time for a node.
void UI_TimerRelease(uiTimer_t *timer)
Release the timer. It no more exists.
void UI_TimerStop(uiTimer_t *timer)
Stop a timer.
Atomic structure used to define most of the UI.
void(* timerCallback_t)(uiNode_t *node, struct uiTimer_s *timer)
static void TearDownTestCase()
static void SetUpTestCase()
void UI_TimerStart(uiTimer_t *timer)
Restart a timer.