Skip to content

Commit

Permalink
fix compile of ctest
Browse files Browse the repository at this point in the history
  • Loading branch information
jievince committed Sep 6, 2022
1 parent a4f8d0d commit 4a07114
Show file tree
Hide file tree
Showing 3 changed files with 37 additions and 34 deletions.
5 changes: 4 additions & 1 deletion src/common/function/FunctionManager.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2512,7 +2512,10 @@ FunctionManager::FunctionManager() {
return Value::kNullBadType;
}
auto status = args[0].get().getGeography().isValid();
return status.ok() ? true : false;
if (!status.ok()) {
LOG(ERROR) << "ST_IsValid error: " << status;
}
return status.ok();
};
}
// geo predicates
Expand Down
26 changes: 13 additions & 13 deletions src/common/geo/io/wkb/test/WKBTest.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -41,25 +41,25 @@ TEST_F(WKBTest, TestWKB) {
Point v(Coordinate(24.7, 36.842));
auto result = read(v);
ASSERT_TRUE(result.ok()) << result.status();
EXPECT_EQ(true, v.isValid());
EXPECT_EQ(true, v.isValid().ok());
}
{
Point v(Coordinate(-179, 36.842));
auto result = read(v);
ASSERT_TRUE(result.ok()) << result.status();
EXPECT_EQ(true, v.isValid());
EXPECT_EQ(true, v.isValid().ok());
}
{
Point v(Coordinate(24.7, 36.842));
auto result = read(v);
ASSERT_TRUE(result.ok()) << result.status();
EXPECT_EQ(true, v.isValid());
EXPECT_EQ(true, v.isValid().ok());
}
{
Point v(Coordinate(298.4, 499.99));
auto result = read(v);
ASSERT_TRUE(result.ok()) << result.status();
EXPECT_EQ(false, v.isValid());
EXPECT_EQ(false, v.isValid().ok());
}
{
Point v(Coordinate(24.7, 36.842));
Expand All @@ -75,32 +75,32 @@ TEST_F(WKBTest, TestWKB) {
Coordinate(0, 1), Coordinate(1, 2), Coordinate(2, 3), Coordinate(3, 4)});
auto result = read(v);
ASSERT_TRUE(result.ok()) << result.status();
EXPECT_EQ(true, v.isValid());
EXPECT_EQ(true, v.isValid().ok());
}
{
LineString v(std::vector<Coordinate>{Coordinate(26.4, 78.9), Coordinate(138.725, 91.0)});
auto result = read(v);
ASSERT_TRUE(result.ok()) << result.status();
EXPECT_EQ(false, v.isValid());
EXPECT_EQ(false, v.isValid().ok());
}
{
LineString v(std::vector<Coordinate>{Coordinate(0, 1), Coordinate(2, 3), Coordinate(0, 1)});
auto result = read(v);
ASSERT_TRUE(result.ok()) << result.status();
EXPECT_EQ(true, v.isValid());
EXPECT_EQ(true, v.isValid().ok());
}
{
LineString v(std::vector<Coordinate>{Coordinate(0, 1), Coordinate(0, 1)});
auto result = read(v);
ASSERT_TRUE(result.ok()) << result.status();
EXPECT_EQ(false, v.isValid());
EXPECT_EQ(false, v.isValid().ok());
}
// LineString must have at least 2 points
{
LineString v(std::vector<Coordinate>{Coordinate(0, 1)});
auto result = read(v);
ASSERT_TRUE(result.ok()) << result.status();
EXPECT_EQ(false, v.isValid());
EXPECT_EQ(false, v.isValid().ok());
}
{
LineString v(std::vector<Coordinate>{Coordinate(26.4, 78.9), Coordinate(138.725, 91.0)});
Expand All @@ -124,7 +124,7 @@ TEST_F(WKBTest, TestWKB) {
Coordinate(0, 1), Coordinate(1, 2), Coordinate(2, 3), Coordinate(0, 1)}});
auto result = read(v);
ASSERT_TRUE(result.ok()) << result.status();
EXPECT_EQ(true, v.isValid());
EXPECT_EQ(true, v.isValid().ok());
}
{
Polygon v(std::vector<std::vector<Coordinate>>{
Expand All @@ -137,23 +137,23 @@ TEST_F(WKBTest, TestWKB) {
Coordinate(4, 5)}});
auto result = read(v);
ASSERT_TRUE(result.ok()) << result.status();
EXPECT_EQ(true, v.isValid());
EXPECT_EQ(true, v.isValid().ok());
}
// The loop is not closed
{
Polygon v(std::vector<std::vector<Coordinate>>{std::vector<Coordinate>{
Coordinate(0, 1), Coordinate(1, 2), Coordinate(2, 3), Coordinate(3, 4)}});
auto result = read(v);
ASSERT_TRUE(result.ok()) << result.status();
EXPECT_EQ(false, v.isValid());
EXPECT_EQ(false, v.isValid().ok());
}
// Loop must have at least 4 points
{
Polygon v(std::vector<std::vector<Coordinate>>{
std::vector<Coordinate>{Coordinate(0, 1), Coordinate(1, 2), Coordinate(0, 1)}});
auto result = read(v);
ASSERT_TRUE(result.ok()) << result.status();
EXPECT_EQ(false, v.isValid());
EXPECT_EQ(false, v.isValid().ok());
}
{
Polygon v(std::vector<std::vector<Coordinate>>{std::vector<Coordinate>{
Expand Down
40 changes: 20 additions & 20 deletions src/common/geo/test/GeoFunctionTest.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1054,102 +1054,102 @@ TEST(s2CellIdFromPoint, polygon) {
TEST(isValid, point) {
{
auto point = Geography::fromWKT("POINT(1.0 1.0)").value();
bool b = point.isValid();
bool b = point.isValid().ok();
EXPECT_EQ(true, b);
}
{
auto point = Geography::fromWKT("POINT(181.0 1.0)").value();
bool b = point.isValid();
bool b = point.isValid().ok();
EXPECT_EQ(false, b);
}
{
auto point = Geography::fromWKT("POINT(1.0 91.0)").value();
bool b = point.isValid();
bool b = point.isValid().ok();
EXPECT_EQ(false, b);
}
{
auto point = Geography::fromWKT("POINT(-181.0 -91.0)").value();
bool b = point.isValid();
bool b = point.isValid().ok();
EXPECT_EQ(false, b);
}
}

TEST(isValid, lineString) {
{
auto line = Geography::fromWKT("LINESTRING(1.0 1.0, 2.0 2.0)").value();
bool b = line.isValid();
bool b = line.isValid().ok();
EXPECT_EQ(true, b);
}
{
auto line = Geography::fromWKT("LINESTRING(1 1, 2 3, 4 8, -6 3)").value();
bool b = line.isValid();
bool b = line.isValid().ok();
EXPECT_EQ(true, b);
}
{
auto line = Geography::fromWKT("LINESTRING(1.0 1.0)").value();
bool b = line.isValid();
bool b = line.isValid().ok();
EXPECT_EQ(false, b);
}
{
auto line = Geography::fromWKT("LINESTRING(1.0 1.0, 1.0 1.0)").value();
bool b = line.isValid();
bool b = line.isValid().ok();
EXPECT_EQ(false, b);
}
{
auto line = Geography::fromWKT("LINESTRING(1.0 1.0, 181.0 2.0)").value();
bool b = line.isValid();
bool b = line.isValid().ok();
EXPECT_EQ(false, b);
}
{
auto line = Geography::fromWKT("LINESTRING(1.0 1.0, 1.0 90.001)").value();
bool b = line.isValid();
bool b = line.isValid().ok();
EXPECT_EQ(false, b);
}
}

TEST(isValid, polygon) {
{
auto polygon = Geography::fromWKT("POLYGON((1.0 1.0, 2.0 2.0, 0.0 2.0, 1.0 1.0))").value();
bool b = polygon.isValid();
bool b = polygon.isValid().ok();
EXPECT_EQ(true, b);
}
{
auto polygon = Geography::fromWKT("POLYGON((-20 -20, -20 20, 20 20, 20 -20, -20 -20))").value();
bool b = polygon.isValid();
bool b = polygon.isValid().ok();
EXPECT_EQ(true, b);
}
{
auto polygon =
Geography::fromWKT(
"POLYGON((-20 -20, -20 20, 20 20, 20 -20, -20 -20), (10 0, 0 10, 0 -10, 10 0))")
.value();
bool b = polygon.isValid();
bool b = polygon.isValid().ok();
EXPECT_EQ(true, b);
}
{
auto polygon = Geography::fromWKT(
"POLYGON((-20 -20, -20 20, 20 20, 20 -20, -20 -20), (10 0, 0 10, 0 -10, 10 "
"0), (-10 0, 0 10, -5 -10, -10 0))")
.value();
bool b = polygon.isValid();
bool b = polygon.isValid().ok();
EXPECT_EQ(true, b);
}
{
auto polygon = Geography::fromWKT(
"POLYGON((-20 -20, -20 20, 20 20, 20 -20, -20 -20), (1.0 1.0, 2.0 2.0, 0.0 "
"2.0, 1.0 1.0))")
.value();
bool b = polygon.isValid();
bool b = polygon.isValid().ok();
EXPECT_EQ(true, b);
}
{
auto polygon = Geography::fromWKT("POLYGON((1.0 1.0, 2.0 2.0, 0.0 2.0))").value();
bool b = polygon.isValid();
bool b = polygon.isValid().ok();
EXPECT_EQ(false, b);
}
{
auto polygon = Geography::fromWKT("POLYGON((1.0 1.0, 2.0 2.0, 0.0 2.0, 1.2 1.2))").value();
bool b = polygon.isValid();
bool b = polygon.isValid().ok();
EXPECT_EQ(false, b);
}
// The first loop doesn't contain the second loop
Expand All @@ -1159,18 +1159,18 @@ TEST(isValid, polygon) {
// "
// "-20, -20 -20))")
// .value();
// bool b = polygon.isValid();
// bool b = polygon.isValid().ok();
// EXPECT_EQ(false, b); // Expect false, got true
// }
{
auto polygon =
Geography::fromWKT("POLYGON((1.0 1.0, -180.0001 2.0, 0.0 2.0, 1.0 1.0))").value();
bool b = polygon.isValid();
bool b = polygon.isValid().ok();
EXPECT_EQ(false, b);
}
{
auto polygon = Geography::fromWKT("POLYGON((1.0 1.0, 2.0 2.0, 0.0 -90.001, 1.0 1.0))").value();
bool b = polygon.isValid();
bool b = polygon.isValid().ok();
EXPECT_EQ(false, b);
}
}
Expand Down

0 comments on commit 4a07114

Please sign in to comment.