doblespiel/stackTests.c

60 lines
1.1 KiB
C

#include <stdio.h>
#include "unity/unity.h"
#include "stack.h"
void setUp(void){}
void tearDown(void){}
void TEST_CREATE_STACK(){
int value = 4;
int* ptr = &value;
StackNode* stack = push(NULL,ptr);
TEST_ASSERT_NOT_NULL(stack);
TEST_ASSERT_EQUAL_INT(value, *(int*)(stack->value));
}
void TEST_STACK_POP() {
int value1 = 4, value2 = 2;
int* ptr = &value1;
int* ptr2 = &value2;
StackNode* stack = push(NULL,ptr);
stack = push(stack,ptr2);
stack = pop(stack);
TEST_ASSERT_EQUAL_INT(value1, *(int*)(stack->value));
}
void TEST_STACK_PUSH() {
int value1 = 4, value2 = 2;
int* ptr = &value1;
int* ptr2 = &value2;
StackNode* stack = push(NULL,ptr);
stack = push(stack,ptr2);
TEST_ASSERT_EQUAL_INT(value2, *(int*)(stack->value));
}
int main(){
UNITY_BEGIN();
printf("\n============================\nstack tests\n============================\n");
RUN_TEST(TEST_CREATE_STACK);
RUN_TEST(TEST_STACK_POP);
RUN_TEST(TEST_STACK_PUSH);
return UNITY_END();
}
//Befehl zum Kompilieren: gcc stack.c stackTests.c unity/unity.c