#include "gtest/gtest.h" #include "radixcore/system.hh" #include "radixgeo/coordinateconversion.hh" #include #include using namespace radix; TEST(Radixgeo, CoordinateRange) { try { CoordinateConversion::validate(-91, -179); } catch (std::out_of_range e) { std::string error_message(e.what()); EXPECT_EQ( "Invalid coordinate [-91,-179].\nLatitude must be [-90,90] and " "longitude must be " "[-180,180).", error_message); } try { CoordinateConversion::validate(91, -179); } catch (std::out_of_range e) { std::string error_message(e.what()); EXPECT_EQ( "Invalid coordinate [91,-179].\nLatitude must be [-90,90] and " "longitude must be " "[-180,180).", error_message); } try { CoordinateConversion::validate(-80, -190); } catch (std::out_of_range e) { std::string error_message(e.what()); EXPECT_EQ( "Invalid coordinate [-80,-190].\nLatitude must be [-90,90] and " "longitude must be " "[-180,180).", error_message); } try { CoordinateConversion::validate(-80, 190); } catch (std::out_of_range e) { std::string error_message(e.what()); EXPECT_EQ( "Invalid coordinate [-80,190].\nLatitude must be [-90,90] and " "longitude must be " "[-180,180).", error_message); } // // Pair api try { CoordinateConversion::validate(std::make_pair(-91., -179.)); } catch (std::out_of_range e) { std::string error_message(e.what()); EXPECT_EQ( "Invalid coordinate [-91,-179].\nLatitude must be [-90,90] and " "longitude must be " "[-180,180).", error_message); } try { CoordinateConversion::validate(std::make_pair(91., -179.)); } catch (std::out_of_range e) { std::string error_message(e.what()); EXPECT_EQ( "Invalid coordinate [91,-179].\nLatitude must be [-90,90] and " "longitude must be " "[-180,180).", error_message); } try { CoordinateConversion::validate(std::make_pair(-80., -190.)); } catch (std::out_of_range e) { std::string error_message(e.what()); EXPECT_EQ( "Invalid coordinate [-80,-190].\nLatitude must be [-90,90] and " "longitude must be " "[-180,180).", error_message); } try { CoordinateConversion::validate(std::make_pair(-80., 190.)); } catch (std::out_of_range e) { std::string error_message(e.what()); EXPECT_EQ( "Invalid coordinate [-80,190].\nLatitude must be [-90,90] and " "longitude must be " "[-180,180).", error_message); } } TEST(Radixgeo, CoordinateConversion) {}