-
Laurent Paucot a rédigéLaurent Paucot a rédigé
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());
}