DobleSpiel/stacktest.c

58 lines
984 B
C

#include <stdio.h>
#include "stack.h"
#include <stdlib.h>
//Funktion, um nachzuprüfen, ob Test bestanden wurde
void check(char *msg, int expected, int actual){
printf("%s: ", msg);
printf("Erwartet: %d, Tatsächlich: %d\n", expected, actual);
if(expected == actual){
printf("Test bestanden\n");
}else{
printf("Test nicht bestanden\n");
}
}
//Schnappt sich oberstes Element
int getTop(StackNode *stack){
void *data = top(stack);
return(int)data;
}
//Tests der einzelnen Stackfunktionen
int main(){
StackNode *stack = NULL;
//Test push
stack = push(stack, (void*)10);
check("Nach Push 10", 10, getTop(stack));
stack = push(stack, (void*)20);
check("Nach Push 20", 20, getTop(stack));
//pop testen
stack = pop(stack);
check("Nach Pop", 10, getTop(stack));
//clearStack testen
clearStack(stack);
stack = NULL;
check("Nach ClearStack", 0, getTop(stack));
return 0;
}