#ifdef TEST
#include <stdlib.h>
#include "unity.h"
#include "Input.h"


void setUp(void) {
}

void tearDown(void) {
}

void test_getUserInput(void) {
    /*Bei dem benutzen dieser Funktion muss man mit free() den speicher wieder freigeben um memory leaks zu vermeiden
    Beispiel :
    
        char* input = getUserInput();
        if (input != NULL) {

        input wird hier benutzt


        free(input); damit wird der speicher wieder freigegeben wird
    
    */
    const char *test_input  = "a1";
    FILE *tempInputFile;
    // Datei erstellen
    tempInputFile = fopen("temp_input.txt", "w");
    fprintf(tempInputFile, "%s\n", test_input);
    fclose(tempInputFile);

    // aus der Datei lesen um User input zu simulieren
    tempInputFile = freopen("temp_input.txt", "r", stdin);


    char *actual_input = getUserInput();
    TEST_ASSERT_EQUAL_STRING(test_input, actual_input);

    //Clean-up 
    free(actual_input);  // siehe kommentar in input.c
    fclose(tempInputFile);
    remove("temp_input.txt"); // Datei automatisch löschen
}
#endif // TEST