/Users/huttone/Devel/sedflux-new/sedflux/trunk/ew/sed/sed_wave_unit_test.c

Go to the documentation of this file.
00001 #include "utils/utils.h"
00002 #include <check.h>
00003 
00004 #include "sed_wave.h"
00005 
00006 START_TEST ( test_sed_wave_new )
00007 {
00008    {
00009       Sed_wave w = sed_wave_new( 0 , 2 , 3 );
00010 
00011       fail_if    ( w==NULL                            , "NULL returned instead of a new wave"  );
00012       fail_unless( fabs( sed_wave_height(w)        ) < 1e-12 , "Newly created has wrong height" );
00013       fail_unless( fabs( sed_wave_number(w)    - 2 ) < 1e-12 , "Newly created has wrong number" );
00014       fail_unless( fabs( sed_wave_frequency(w) - 3 ) < 1e-12 , "Newly created has wrong frequency" );
00015 
00016       sed_wave_destroy( w );
00017    }
00018 
00019    {
00020       Sed_wave w = sed_wave_new( 0 , 0 , -1 );
00021       fail_unless( w==NULL , "Wave can not have negative frequency" );
00022    }
00023 
00024    {
00025       Sed_wave w = sed_wave_new( 0 , -1 , 0 );
00026       fail_unless( w==NULL , "Wave can not have negative number" );
00027    }
00028 
00029    {
00030       Sed_wave w = sed_wave_new( -1 , 0 , 0 );
00031       fail_unless( w==NULL , "Wave can not have negative height" );
00032    }
00033 
00034 }
00035 END_TEST
00036 
00037 START_TEST ( test_sed_wave_copy )
00038 {
00039    {
00040       Sed_wave dest = sed_wave_new( 0 , 0 , 0 );
00041       Sed_wave src  = sed_wave_new( 1 , 2 , 3 );
00042       Sed_wave temp = dest;
00043 
00044       dest = sed_wave_copy( dest , src );
00045 
00046       fail_unless( sed_wave_is_same(dest,src) , "Wave not copied correctly" );
00047       fail_if    ( dest == src                , "Wave not copied" );
00048       fail_unless( dest == temp               , "Wave not copied to correct location" );
00049 
00050       sed_wave_destroy( src  );
00051       sed_wave_destroy( dest );
00052    }
00053 }
00054 END_TEST
00055 
00056 Suite *sed_wave_suite( void )
00057 {
00058    Suite *s = suite_create( "Sed_wave" );
00059    TCase *test_case_core = tcase_create( "Core" );
00060 
00061    suite_add_tcase( s , test_case_core );
00062 
00063    tcase_add_test( test_case_core , test_sed_wave_new  );
00064    tcase_add_test( test_case_core , test_sed_wave_copy );
00065 
00066    return s;
00067 }
00068 
00069 int test_sed_wave( void )
00070 {
00071    int n;
00072 
00073    {
00074       Suite *s = sed_wave_suite();
00075       SRunner *sr = srunner_create( s );
00076 
00077       srunner_run_all( sr , CK_NORMAL );
00078       n = srunner_ntests_failed( sr );
00079       srunner_free( sr );
00080    }
00081 
00082    return n;
00083 }
00084 
00085 

Generated on Fri Jan 4 18:04:15 2008 for sedflux by  doxygen 1.5.2