Salve! E' la prima volta che scrivo sul foro. Ho dei problemi con l'uso dei test unitari di CUNIT le slide del nostro prof sono risicate e non riesco ad ampliare i casi di test con codici pi� complessi di un semplice calcolo del massimo o del minimo.
Bene
dovrei fare pi� casi di test su questa funzione
/*
* calcola_ore.c
*
* Created on: 20 dic 2016
* Author: nasio
*/
#include <stdio.h>
#include <stdlib.h>
#include "Operai.h"
//funzone che calcola le ore di lavoro mensili di ciascun operaio
int calcola_ore(in *operai_in, out *operai_out, ore *operai_h, int n, int mat)
{
int i;
int ore_m=0;
//calcolo delle ore di lavoro giornaliere
for(i=0;i<n-1;i++)
{
if (operai_out[i].mat==operai_in[i].mat)
{
operai_h[i].mat=operai_out[i].mat;
operai_h[i].ore_g=operai_out[i].ore-operai_in[i].ore;
}
}
//calcolo delle ore mensili
for(i=0;i<n-1;i++)
{
if(operai_out[i].mat==mat)
ore_m=operai_h[i].ore_g+ore_m;
}
printf(" Le ore mensili dell'operaio matricola %d sono %d \n",mat, ore_m);
return ore_m;
}
le struct utilizzate sono queste:
typedef struct
{
int mat;
int ore;
int flag;
}in;
typedef struct
{
int mat;
int ore;
int flag;
}out;
typedef struct
{
int mat;
int ore_g;
}ore;
in operai_i[DIM];
out operai_ou[DIM];
ore operai_o[DIM];
ora quello che non mi � chiaro, se dovessi usare un asserzione per vedere se la funzione � funzionante andrebbe bene qualcosa del genere?
CU_ASSERT_EQUAL(calcola_ore(&operai_i, &operai_ou, &operai_o, dim, 10097), 100 );
per la matricola 10097 le ore devono essere 100.