Vehicle Control Unit 0.01
This is the c library for controlling the car.
Loading...
Searching...
No Matches
Macros | Functions
AppsTest.c File Reference
#include "../Inc/Systems/Controller/Apps.h"
#include "test.h"
Include dependency graph for AppsTest.c:

Go to the source code of this file.

Macros

#define APPS_DO(pos1, pos2)
 

Functions

void apps_main ()
 

Macro Definition Documentation

◆ APPS_DO

#define APPS_DO (   pos1,
  pos2 
)
Value:
Apps apps; \
initApps(&apps, 0, 0, 1); \
setAppPos(apps.app[0], pos1); \
setAppPos(apps.app[1], pos2); \
updateApps(&apps); \
float pos = getAppsPosition(&apps);
float getAppsPosition(Apps *apps)
Averages app sensors to get pedal position.
Definition: Apps.c:66
Definition: Apps.h:21
App * app[2]
Definition: Apps.h:24

Definition at line 5 of file AppsTest.c.

Function Documentation

◆ apps_main()

void apps_main ( )

Definition at line 13 of file AppsTest.c.

13 {
14 TEST(apps_init, {
15 Apps apps;
16 initApps(&apps, 0, 0, 1);
17 ASSERT_OK(apps.status == APPS_OK, "intial status");
18 })
19
20 TEST(normal_operation_0, {
21 APPS_DO(0, 0)
22 ASSERT(apps.status == APPS_OK, "status is expected", "status is not expected");
23 ASSERT_EQ(pos, 0, "position", "expected position");
24 })
25
26 TEST(normal_operation_50, {
27 APPS_DO(50, 50)
28 ASSERT(apps.status == APPS_OK, "status is expected", "status is not expected");
29 ASSERT_EQ(pos, 50, "position", "expected position");
30 })
31
32 TEST(normal_operation_100, {
33 APPS_DO(100, 100)
34 ASSERT(apps.status == APPS_OK, "status is expected", "status is not expected");
35 ASSERT_EQ(pos, 100, "position", "expected position");
36 })
37
38 TEST(normal_operation_50_60, {
39 APPS_DO(50, 60);
40 ASSERT(apps.status == APPS_OK, "status is expected", "status is not expected");
41 ASSERT_EQ(pos, 55, "position", "expected position");
42 })
43
44 TEST(normal_operation_55_56, {
45 APPS_DO(55, 56);
46 ASSERT(apps.status == APPS_OK, "status is expected", "status is not expected");
47 ASSERT_EQ(pos, 55.5, "position", "expected position");
48 })
49
50 TEST(edge_difference_0_10, {
51 APPS_DO(0, 10);
52 ASSERT(apps.status == APPS_OK, "status is expected", "status is not expected");
53 ASSERT_EQ(pos, 5, "position", "expected position");
54 })
55
56 TEST(edge_difference_50_60, {
57 APPS_DO(50, 60);
58 ASSERT(apps.status == APPS_OK, "status is expected", "status is not expected");
59 ASSERT_EQ(pos, 55, "position", "expected position");
60 })
61
62 TEST(edge_difference_90_100, {
63 APPS_DO(90, 100);
64 ASSERT(apps.status == APPS_OK, "status is expected", "status is not expected");
65 ASSERT_EQ(pos, 95, "position", "expected position");
66 })
67
68 TEST(edge_difference_0_1001, {
69 APPS_DO(0, 10.01);
70 ASSERT(apps.status == APPS_FAULT, "status is expected", "status is not expected");
71 ASSERT_EQ(pos, 0, "position", "expected position");
72 })
73
74 TEST(edge_difference_50_61, {
75 APPS_DO(50, 51);
76 ASSERT(apps.status == APPS_FAULT, "status is expected", "status is not expected");
77 ASSERT_EQ(pos, 0, "position", "expected position");
78 })
79
80 TEST(edge_difference_0_100, {
81 APPS_DO(0, 100);
82 ASSERT(apps.status == APPS_FAULT, "status is expected", "status is not expected");
83 ASSERT_EQ(pos, 0, "position", "expected position");
84 })
85
86 TEST(sensor_1_under, {
87 APPS_DO(-1, 50);
88 ASSERT(apps.status == APPS_FAULT, "status is expected", "status is not expected");
89 ASSERT_EQ(pos, 0, "position", "expected position");
90 })
91
92 TEST(sensor_1_over, {
93 APPS_DO(101, 50);
94 ASSERT(apps.status == APPS_FAULT, "status is expected", "status is not expected");
95 ASSERT_EQ(pos, 0, "position", "expected position");
96 })
97
98 TEST(sensor_2_under, {
99 APPS_DO(50, -1);
100 ASSERT(apps.status == APPS_FAULT, "status is expected", "status is not expected");
101 ASSERT_EQ(pos, 0, "position", "expected position");
102 })
103
104 TEST(sensor_2_over, {
105 APPS_DO(50, 101);
106 ASSERT(apps.status == APPS_FAULT, "status is expected", "status is not expected");
107 ASSERT_EQ(pos, 0, "position", "expected position");
108 })
109
110 TEST(sensors_under, {
111 APPS_DO(-1, -1);
112 ASSERT(apps.status == APPS_FAULT, "status is expected", "status is not expected");
113 ASSERT_EQ(pos, 0, "position", "expected position");
114 })
115
116 TEST(sensors_over, {
117 APPS_DO(101, 101);
118 ASSERT(apps.status == APPS_FAULT, "status is expected", "status is not expected");
119 ASSERT_EQ(pos, 0, "position", "expected position");
120 })
121}
#define APPS_DO(pos1, pos2)
Definition: AppsTest.c:5
@ APPS_OK
Definition: Apps.h:17
@ APPS_FAULT
Definition: Apps.h:18
void initApps(Apps *apps, int hz, int channel1, int channel2)
Initializes the APPs with the given frequency and channel.
Definition: Apps.c:30
AppsStatus status
Definition: Apps.h:23
#define ASSERT_OK(BOOL, LABEL)
Definition: test.h:29
#define TEST(NAME, BODY)
Definition: test.h:19
#define ASSERT_EQ(GOT, WANT, GOT_LABEL, WANT_LABEL)
Definition: test.h:32
#define ASSERT(BOOL, OK, ERR)
Definition: test.h:27
Here is the call graph for this function: