irplib_cat-test.c

00001 /* $Id: irplib_cat-test.c,v 1.4 2009/03/02 13:13:53 cgarcia Exp $
00002  *
00003  * This file is part of the ESO Common Pipeline Library
00004  * Copyright (C) 2001-2008 European Southern Observatory
00005  *
00006  * This program is free software; you can redistribute it and/or modify
00007  * it under the terms of the GNU General Public License as published by
00008  * the Free Software Foundation; either version 2 of the License, or
00009  * (at your option) any later version.
00010  *
00011  * This program is distributed in the hope that it will be useful,
00012  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00013  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00014  * GNU General Public License for more details.
00015  *
00016  * You should have received a copy of the GNU General Public License
00017  * along with this program; if not, write to the Free Software
00018  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00019  */
00020 
00021 /*
00022  * $Author: cgarcia $
00023  * $Date: 2009/03/02 13:13:53 $
00024  * $Revision: 1.4 $
00025  * $Name: visir-3_2_2 $
00026  */
00027 
00028 /*-----------------------------------------------------------------------------
00029                                    Includes
00030  -----------------------------------------------------------------------------*/
00031 #ifdef HAVE_CONFIG_H
00032 #include <config.h>
00033 #endif
00034 
00035 #include <cpl_test.h>
00036 
00037 #include "irplib_cat.h"
00038 
00039 #if defined CPL_VERSION_CODE && CPL_VERSION_CODE >= CPL_VERSION(4, 8, 0)
00040 /*-----------------------------------------------------------------------------
00041                                    Static functions
00042  -----------------------------------------------------------------------------*/
00043 static void irplib_cat_all_test(void);
00044 
00045 /*-----------------------------------------------------------------------------
00046                                   Main
00047  -----------------------------------------------------------------------------*/
00048 int main (void)
00049 {
00050 
00051     cpl_test_init(PACKAGE_BUGREPORT, CPL_MSG_WARNING);
00052 
00053     irplib_cat_all_test();
00054 
00055     return cpl_test_end(0);
00056 }
00057 
00058 static void irplib_cat_all_test(void)
00059 {
00060     cpl_propertylist * prop_wcs; 
00061     cpl_wcs *          wcs = NULL;
00062     double             ra1, ra2, dec1, dec2;
00063     
00064     /* Create WCS object */
00065     prop_wcs = cpl_propertylist_new();
00066     cpl_test_nonnull(prop_wcs);
00067     cpl_propertylist_append_double(prop_wcs, "CRVAL1", 0.);
00068     cpl_propertylist_append_double(prop_wcs, "CRVAL2", 0.);
00069     cpl_propertylist_append_int(prop_wcs, "CRPIX1", 1);
00070     cpl_propertylist_append_int(prop_wcs, "CRPIX2", 1);
00071     cpl_propertylist_append_double(prop_wcs, "CD1_1", .001);
00072     cpl_propertylist_append_double(prop_wcs, "CD1_2", 0.);
00073     cpl_propertylist_append_double(prop_wcs, "CD2_1", 00.);
00074     cpl_propertylist_append_double(prop_wcs, "CD2_2", .001);
00075     cpl_propertylist_append_int(prop_wcs, "NAXIS", 2);
00076     cpl_propertylist_append_int(prop_wcs, "NAXIS1", 1000);
00077     cpl_propertylist_append_int(prop_wcs, "NAXIS2", 1000);
00078     wcs = cpl_wcs_new_from_propertylist(prop_wcs);
00079     if(cpl_error_get_code() == CPL_ERROR_NO_WCS)
00080     {
00081         cpl_msg_warning(__func__,"No WCS present. Tests disabled");
00082         cpl_test_error(CPL_ERROR_NO_WCS);
00083         cpl_test_null(wcs);
00084         cpl_propertylist_delete(prop_wcs);
00085         return;
00086     }
00087     cpl_test_nonnull(wcs);
00088 
00089     irplib_cat_get_image_limits(wcs, 0., &ra1, &ra2, &dec1, &dec2);
00090     cpl_test_error(CPL_ERROR_NONE);
00091     cpl_test_leq(ra1 - 0.00, DBL_EPSILON);
00092     cpl_test_leq(ra2 - 0.99,  DBL_EPSILON);
00093     cpl_test_leq(dec1 - 0.00, DBL_EPSILON);
00094     cpl_test_leq(dec2 - 0.99,  DBL_EPSILON);
00095     
00096     
00097     /* Free */
00098     cpl_wcs_delete(wcs);
00099     cpl_propertylist_delete(prop_wcs);
00100 }
00101 #endif

Generated on Fri Jul 3 11:15:22 2009 for VISIR Pipeline Reference Manual by  doxygen 1.5.8