|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r76855 - trunk/libs/geometry/test/io/wkt
From: barend.gehrels_at_[hidden]
Date: 2012-02-03 11:22:46
Author: barendgehrels
Date: 2012-02-03 11:22:43 EST (Fri, 03 Feb 2012)
New Revision: 76855
URL: http://svn.boost.org/trac/boost/changeset/76855
Log:
Updated WKT test w.r.t. ttmath
Text files modified:
trunk/libs/geometry/test/io/wkt/wkt.cpp | 63 ++++++++++++++++++++++-----------------
trunk/libs/geometry/test/io/wkt/wkt.vcproj | 4 +-
2 files changed, 37 insertions(+), 30 deletions(-)
Modified: trunk/libs/geometry/test/io/wkt/wkt.cpp
==============================================================================
--- trunk/libs/geometry/test/io/wkt/wkt.cpp (original)
+++ trunk/libs/geometry/test/io/wkt/wkt.cpp 2012-02-03 11:22:43 EST (Fri, 03 Feb 2012)
@@ -12,7 +12,6 @@
// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
-//#include <iostream>
#include <sstream>
#include <string>
@@ -58,40 +57,27 @@
BOOST_CHECK_CLOSE(double(bg::perimeter(geometry)), peri, 0.0001);
}
- // String comparison: only for int/double/float etc
- // GMP/CLN add +e01, L0, etc
- if (boost::is_fundamental
- <
- typename bg::coordinate_type<G>::type
- >::type::value)
- {
- std::ostringstream out;
- out << bg::wkt(geometry);
- BOOST_CHECK_EQUAL(boost::to_upper_copy(out.str()),
- boost::to_upper_copy(wkt));
- }
+ std::ostringstream out;
+ out << bg::wkt(geometry);
+ BOOST_CHECK_EQUAL(boost::to_upper_copy(out.str()),
+ boost::to_upper_copy(wkt));
}
template <typename G>
void test_relaxed_wkt(std::string const& wkt, std::string const& expected)
{
- if (boost::is_fundamental
- <
- typename bg::coordinate_type<G>::type
- >::type::value)
- {
- std::string e;
- G geometry;
- bg::read_wkt(wkt, geometry);
- std::ostringstream out;
- out << bg::wkt(geometry);
+ std::string e;
+ G geometry;
+ bg::read_wkt(wkt, geometry);
+ std::ostringstream out;
+ out << bg::wkt(geometry);
- BOOST_CHECK_EQUAL(boost::to_upper_copy(out.str()), boost::to_upper_copy(expected));
- }
+ BOOST_CHECK_EQUAL(boost::to_upper_copy(out.str()), boost::to_upper_copy(expected));
}
+
template <typename G>
void test_wrong_wkt(std::string const& wkt, std::string const& start)
{
@@ -106,8 +92,29 @@
e = ex.what();
boost::to_lower(e);
}
- BOOST_CHECK_MESSAGE(boost::starts_with(e, start), " Expected:"
- << start << " Got:" << e << " with WKT: " << wkt);
+ catch(...)
+ {
+ e = "other exception";
+ }
+
+ bool check = true;
+
+#if defined(HAVE_TTMATH)
+ // For ttmath we skip bad lexical casts
+ typedef typename bg::coordinate_type<G>::type ct;
+
+ if (boost::is_same<ct, ttmath_big>::type::value
+ && boost::starts_with(start, "bad lexical cast"))
+ {
+ check = false;
+ }
+#endif
+
+ if (check)
+ {
+ BOOST_CHECK_MESSAGE(boost::starts_with(e, start), " Expected:"
+ << start << " Got:" << e << " with WKT: " << wkt);
+ }
}
template <typename G>
@@ -126,7 +133,7 @@
using namespace boost::geometry;
typedef bg::model::point<T, 2, bg::cs::cartesian> P;
- test_wkt<P >("POINT(1 2)", 1);
+ test_wkt<P>("POINT(1 2)", 1);
test_wkt<bg::model::linestring<P> >("LINESTRING(1 1,2 2,3 3)", 3, 2 * sqrt(2.0));
test_wkt<bg::model::polygon<P> >("POLYGON((0 0,0 4,4 4,4 0,0 0)"
",(1 1,1 2,2 2,2 1,1 1),(1 1,1 2,2 2,2 1,1 1))", 15, 0, 18, 24);
Modified: trunk/libs/geometry/test/io/wkt/wkt.vcproj
==============================================================================
--- trunk/libs/geometry/test/io/wkt/wkt.vcproj (original)
+++ trunk/libs/geometry/test/io/wkt/wkt.vcproj 2012-02-03 11:22:43 EST (Fri, 03 Feb 2012)
@@ -20,7 +20,7 @@
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
IntermediateDirectory="$(ConfigurationName)\wkt"
ConfigurationType="1"
- InheritedPropertySheets="..\..\boost.vsprops"
+ InheritedPropertySheets="..\..\boost.vsprops;..\..\ttmath.vsprops"
CharacterSet="1"
>
<Tool
@@ -93,7 +93,7 @@
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
IntermediateDirectory="$(ConfigurationName)\wkt"
ConfigurationType="1"
- InheritedPropertySheets="..\..\boost.vsprops"
+ InheritedPropertySheets="..\..\boost.vsprops;..\..\ttmath.vsprops"
CharacterSet="1"
WholeProgramOptimization="1"
>
Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk