1
0
Fork 0
mirror of https://github.com/transmission/transmission synced 2024-12-26 01:27:28 +00:00
transmission/libtransmission/history-test.c
Jordan Lee f2b4a59eda (trunk libT) #4051 "Use composition for the tr_history fields in tr_peer" -- fixed.
If we use composition on these objects we can save a handful of pointers per peer. This isn't a big deal, but it's an easy/safe change to do.
2011-02-23 06:01:16 +00:00

62 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;
tr_historyConstruct( &h, 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_historyDestruct( &h );
return 0;
}
int
main( void )
{
int i;
if( ( i = test1( ) ) )
return i;
return 0;
}