/*! \details test "api" a var::Ring * constructors,write,read,size,is_overflow_allowed * set_overflow_allowed * @return false if some test failed */ bool RingTest::execute_class_api_case(){ bool result = true; //posible value for parametrs //overflow allowed const u8 size_packet = 8; u8 buffer[size_packet*8]; Ring<u8> ring1(buffer, sizeof(buffer)); Ring<u8> ring2(size_packet*16); //fill write buffer for test //init control if (!ring1.is_overflow_allowed()){ print_case_message("Failed %s:%d", __PRETTY_FUNCTION__, __LINE__); result = false; } if(!ring2.is_overflow_allowed()){ print_case_message("Failed %s:%d", __PRETTY_FUNCTION__, __LINE__); result = false; } if((ring1.data() == 0) || (ring1.capacity() < sizeof(buffer)) || (ring1.size() != sizeof(buffer)) ){ print_case_message("Failed %s:%d", __PRETTY_FUNCTION__, __LINE__); result = false; } if((ring2.data() == 0) || (ring2.capacity() < 128) || (ring2.size() != 128)){ print_case_message("Failed %s:%d", __PRETTY_FUNCTION__, __LINE__); result = false; } //is_overflow_allowed //write and read //overflow not allowed ring1.set_overflow_allowed(false); ring2.set_overflow_allowed(false); if(ring1.is_overflow_allowed()){ print_case_message("Failed %s:%d", __PRETTY_FUNCTION__, __LINE__); result = false; } if(ring2.is_overflow_allowed()){ print_case_message("Failed %s:%d", __PRETTY_FUNCTION__, __LINE__); result = false; } return result; }
/*************************************************************************** * @brief GSkymap_healpix_construct ***************************************************************************/ void TestGSky::test_GSkymap_healpix_construct(void) { // Test void constructor test_try("Test void constructor"); try { GSkymap map; test_try_success(); } catch (std::exception &e) { test_try_failure(e); } // Test correct Healpix constructors test_try("Test correct Healpix constructors"); try { GSkymap ring1("GAL", 1, "RING", 1); GSkymap ring2("GAL", 2, "RING", 1); GSkymap ring4("GAL", 4, "RING", 1); GSkymap ring8("GAL", 8, "RING", 1); GSkymap ring16("GAL", 16, "RING", 1); GSkymap ring32("GAL", 32, "RING", 1); GSkymap ring64("GAL", 64, "RING", 1); GSkymap ring128("GAL", 128, "RING", 1); GSkymap ring256("GAL", 256, "RING", 1); GSkymap ring512("GAL", 512, "RING", 1); GSkymap nest1("GAL", 1, "NEST", 1); GSkymap nest2("GAL", 2, "NEST", 1); GSkymap nest4("GAL", 4, "NEST", 1); GSkymap nest8("GAL", 8, "NEST", 1); GSkymap nest16("GAL", 16, "NEST", 1); GSkymap nest32("GAL", 32, "NEST", 1); GSkymap nest64("GAL", 64, "NEST", 1); GSkymap nest128("GAL", 128, "NEST", 1); GSkymap nest256("GAL", 256, "NEST", 1); GSkymap nest512("GAL", 512, "NEST", 1); GSkymap map1("CEL", 1, "RING", 1); GSkymap map2("CEL", 1, "RING", 2); GSkymap map3("EQU", 1, "RING", 1); GSkymap map4("EQU", 1, "NESTED", 1); test_try_success(); } catch (std::exception &e) { test_try_failure(e); } // Test Healpix copy constructor test_try("Test Healpix copy constructor"); try { GSkymap ring1("GAL", 1, "RING", 1); GSkymap ring2 = ring1; test_try_success(); } catch (std::exception &e) { test_try_failure(e); } // Test invalid coordsys in constructor test_try("Test invalid coordsys in constructor"); try { GSkymap map("HOR", 1, "RING", 1); test_try_failure(); } catch (GException::wcs_bad_coords &e) { test_try_success(); } catch (std::exception &e) { test_try_failure(e); } // Test invalid nside in constructor test_try("Test invalid nside in constructor"); try { GSkymap map("GAL", 3, "RING", 1); test_try_failure(); } catch (GException::wcs_hpx_bad_nside &e) { test_try_success(); } catch (std::exception &e) { test_try_failure(e); } // Test invalid ordering in constructor test_try("Test invalid ordering in constructor"); try { GSkymap map("GAL", 2, "SPHERICAL", 1); test_try_failure(); } catch (GException::wcs_hpx_bad_ordering &e) { test_try_success(); } catch (std::exception &e) { test_try_failure(e); } // Test invalid nmaps in constructor test_try("Test invalid nmaps in constructor"); try { GSkymap map("GAL", 2, "NEST", 0); test_try_failure(); } catch (GException::skymap_bad_par &e) { test_try_success(); } catch (std::exception &e) { test_try_failure(e); } // Exit test return; }