transmission/libtransmission/history-test.c

63 lines
1.3 KiB
C

#include <stdio.h>
#include "transmission.h"
#include "history.h"
#undef VERBOSE
static int test = 0;
#ifdef VERBOSE
#define check( A ) \
{ \
++test; \
if( A ){ \
fprintf( stderr, "PASS test #%d (%s, %d)\n", test, __FILE__, __LINE__ ); \
} else { \
fprintf( stderr, "FAIL test #%d (%s, %d)\n", test, __FILE__, __LINE__ ); \
return test; \
} \
}
#else
#define check( A ) \
{ \
++test; \
if( !( A ) ){ \
fprintf( stderr, "FAIL test #%d (%s, %d)\n", test, __FILE__, __LINE__ ); \
return test; \
} \
}
#endif
static int
test1( void )
{
tr_recentHistory * h;
h = tr_historyNew( 60, 10 );
tr_historyAdd( h, 10000, 1 );
check( (int)tr_historyGet( h, 12000, 1000 ) == 0 )
check( (int)tr_historyGet( h, 12000, 3000 ) == 1 )
check( (int)tr_historyGet( h, 12000, 5000 ) == 1 )
tr_historyAdd( h, 20000, 1 );
check( (int)tr_historyGet( h, 22000, 1000 ) == 0 )
check( (int)tr_historyGet( h, 22000, 3000 ) == 1 )
check( (int)tr_historyGet( h, 22000, 15000 ) == 2 )
check( (int)tr_historyGet( h, 22000, 20000 ) == 2 )
tr_historyFree( h );
return 0;
}
int
main( void )
{
int i;
if( ( i = test1( ) ) )
return i;
return 0;
}