Skip to content
Extraits de code Groupes Projets
test.c 2,19 Kio
#include <stdlib.h>
#include <stdio.h>
#include "run.h"
#include <CUnit/CUnit.h>
#include <CUnit/TestRun.h>
#include <CUnit/CUError.h>
#include <CUnit/Basic.h>
#include <CUnit/Automated.h>

void test_is_div(void){
    CU_ASSERT_TRUE(is_div(14,7));
}

void test_is_prime(void){
    CU_ASSERT_TRUE(is_prime(13));
}
void test_is_not_prime(void){
    CU_ASSERT_FALSE(is_prime(14));
}

void file_test(void){
    FILE *file1 = NULL;
    FILE *file2 = NULL;

    file1 = fopen("expected_output.txt","r");
    if (file1 == NULL){
        CU_FAIL("expected_output opening fail");
        return;
    }

    clock_t start, end;
    double time;
    start = clock();

    int err = run("short_input.txt","actual_output.txt");

    end = clock();
    time = (double) (end - start) / CLOCKS_PER_SEC;
    printf("Temps = %.2f secondes \n",time);
    if (err == -1){
        CU_FAIL("method run failed");
        return;
    }

    file2 = fopen("actual_output.txt","r");
    if (file2 == NULL){
    CU_FAIL("actual_output opening fail");
    return;
    }

    //char chaine1[50];
    char chaine2[50];

    int n = 0;

    while (fgets(chaine2,50,file2) != NULL)
    {
        //printf("%s\n",chaine1);
        //printf("%s\n",chaine2);
        //CU_ASSERT_STRING_EQUAL(chaine1,chaine2);
        n++;
    }
    printf("%d",n);
    CU_ASSERT_EQUAL(n,100);

    fclose(file1);
    fclose(file2);
    
}
int setup(void){
        return 0;
    }

    int teardown(void)
    {
        return 0;
    }

int main(){

    if (CUE_SUCCESS != CU_initialize_registry())
    {
        return CU_get_error();
    }


    CU_pSuite pSuite = NULL;

    pSuite = CU_add_suite("ma_suite",setup,teardown);

    if (NULL == pSuite)
    {
        CU_cleanup_registry();
        return CU_get_error();
    }

    if (NULL == CU_add_test(pSuite,"test_is_div",test_is_div) ||
        NULL == CU_add_test(pSuite, "test_is_prime",test_is_prime) ||
        NULL == CU_add_test(pSuite, "test_is_not_prime",test_is_not_prime) 
        || NULL == CU_add_test(pSuite,"file_test",file_test)
    )
    {
        CU_cleanup_registry();
        return CU_get_error();
    }


    CU_basic_run_tests();
    CU_automated_run_tests();
    CU_basic_show_failures(CU_get_failure_list());
}