irplib_cat-test.c

00001 /* $Id: irplib_cat-test.c,v 1.9 2009/08/12 14:26:44 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/08/12 14:26:44 $
00024  * $Revision: 1.9 $
00025  * $Name: HEAD $
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 /*-----------------------------------------------------------------------------
00040                                    Static functions
00041  -----------------------------------------------------------------------------*/
00042 static void irplib_cat_all_test(void);
00043 
00044 /*-----------------------------------------------------------------------------
00045                                   Main
00046  -----------------------------------------------------------------------------*/
00047 int main (void)
00048 {
00049 
00050     cpl_test_init(PACKAGE_BUGREPORT, CPL_MSG_WARNING);
00051 
00052     irplib_cat_all_test();
00053 
00054     return cpl_test_end(0);
00055 }
00056 
00057 static void irplib_cat_all_test(void)
00058 {
00059     cpl_propertylist * prop_wcs;
00060     cpl_wcs          * wcs = NULL;
00061     double             ra1, ra2, dec1, dec2;
00062 
00063     /* Create WCS object */
00064     prop_wcs = cpl_propertylist_new();
00065     cpl_test_nonnull(prop_wcs);
00066     cpl_propertylist_append_double(prop_wcs, "CRVAL1", 0.);
00067     cpl_propertylist_append_double(prop_wcs, "CRVAL2", 0.);
00068     cpl_propertylist_append_int(prop_wcs, "CRPIX1", 1);
00069     cpl_propertylist_append_int(prop_wcs, "CRPIX2", 1);
00070     cpl_propertylist_append_double(prop_wcs, "CD1_1", .001);
00071     cpl_propertylist_append_double(prop_wcs, "CD1_2", 0.);
00072     cpl_propertylist_append_double(prop_wcs, "CD2_1", 00.);
00073     cpl_propertylist_append_double(prop_wcs, "CD2_2", .001);
00074     cpl_propertylist_append_int(prop_wcs, "NAXIS", 2);
00075     cpl_propertylist_append_int(prop_wcs, "NAXIS1", 1000);
00076     cpl_propertylist_append_int(prop_wcs, "NAXIS2", 1000);
00077     wcs = cpl_wcs_new_from_propertylist(prop_wcs);
00078     if(cpl_error_get_code() == CPL_ERROR_NO_WCS)
00079     {
00080         cpl_msg_warning(__func__,"No WCS present. Tests disabled");
00081         cpl_test_error(CPL_ERROR_NO_WCS);
00082         cpl_test_null(wcs);
00083         cpl_propertylist_delete(prop_wcs);
00084         return;
00085     }
00086     cpl_test_nonnull(wcs);
00087 
00088     irplib_cat_get_image_limits(wcs, 0., &ra1, &ra2, &dec1, &dec2);
00089     cpl_test_error(CPL_ERROR_NONE);
00090     cpl_test_abs(ra1, 0.00, DBL_EPSILON);
00091     cpl_test_abs(ra2,  0.99,  DBL_EPSILON);
00092     cpl_test_abs(dec1,  0.00, DBL_EPSILON);
00093     cpl_test_abs(dec2,  0.99,  DBL_EPSILON);
00094 
00095     /* Free */
00096     cpl_wcs_delete(wcs);
00097     cpl_propertylist_delete(prop_wcs);
00098 }

Generated on Thu Mar 24 11:59:38 2011 for VISIR Pipeline Reference Manual by  doxygen 1.5.8