Line data Source code
1 : #include "unity.h"
2 : #include "calculator.h"
3 : #include "sub_op.h"
4 : #include "mul_op.h"
5 : #include "div_op.h"
6 : #include "mocks/Mockadd_op.h"
7 :
8 : /*int fake_add_op(calctask_t *task, int numcalls)
9 : {
10 : task->result = task->operand1 + task->operand2;
11 : return 1;
12 : }
13 :
14 : void setUp(void)
15 : {
16 : add_op_AddCallback(fake_add_op);
17 : }
18 : */
19 :
20 1 : void test_calculator_add()
21 : {
22 1 : calctask_t task = {.operand1 = 5, .operand2 = 3, .result = 0};
23 1 : add_op_ExpectAndReturn(&task, 1);
24 1 : TEST_ASSERT_TRUE(calculate(CALC_ADD, &task));}
25 :
26 1 : void test_calculator_mul()
27 : {
28 1 : calctask_t task = {.operand1 = 5, .operand2 = 3};
29 1 : TEST_ASSERT_TRUE(calculate(CALC_MUL, &task));
30 1 : TEST_ASSERT_EQUAL(15, task.result);
31 1 : }
32 :
33 1 : void test_calculator_div()
34 : {
35 1 : calctask_t task = {.operand1 = 12, .operand2 = 3};
36 1 : TEST_ASSERT_TRUE(calculate(CALC_DIV, &task));
37 1 : TEST_ASSERT_EQUAL(4, task.result);
38 1 : }
39 :
40 1 : void test_calculator_div_by_zero()
41 : {
42 1 : calctask_t task = {.operand1 = 12, .operand2 = 0};
43 1 : TEST_ASSERT_FALSE(calculate(CALC_DIV, &task));
44 1 : }
|