Update tests
This commit is contained in:
parent
f1edc456ab
commit
bddecadeab
@ -357,22 +357,6 @@ Feature: WHERE exists
|
|||||||
"""
|
"""
|
||||||
Then the result should be empty
|
Then the result should be empty
|
||||||
|
|
||||||
Scenario: Test node-only hop
|
|
||||||
Given an empty graph
|
|
||||||
And having executed:
|
|
||||||
"""
|
|
||||||
CREATE (:One {prop:1})-[:TYPE {prop: 1}]->(:Two {prop: 2})-[:TYPE {prop:2}]->(:Three {prop: 3})
|
|
||||||
"""
|
|
||||||
When executing query:
|
|
||||||
"""
|
|
||||||
MATCH (n) WHERE exists((n)) RETURN n.prop;
|
|
||||||
"""
|
|
||||||
Then the result should be:
|
|
||||||
| n.prop |
|
|
||||||
| 1 |
|
|
||||||
| 2 |
|
|
||||||
| 3 |
|
|
||||||
|
|
||||||
Scenario: Test exists with different edge type
|
Scenario: Test exists with different edge type
|
||||||
Given an empty graph
|
Given an empty graph
|
||||||
And having executed:
|
And having executed:
|
||||||
|
@ -357,22 +357,6 @@ Feature: WHERE exists
|
|||||||
"""
|
"""
|
||||||
Then the result should be empty
|
Then the result should be empty
|
||||||
|
|
||||||
Scenario: Test node-only hop
|
|
||||||
Given an empty graph
|
|
||||||
And having executed:
|
|
||||||
"""
|
|
||||||
CREATE (:One {prop:1})-[:TYPE {prop: 1}]->(:Two {prop: 2})-[:TYPE {prop:2}]->(:Three {prop: 3})
|
|
||||||
"""
|
|
||||||
When executing query:
|
|
||||||
"""
|
|
||||||
MATCH (n) WHERE exists((n)) RETURN n.prop;
|
|
||||||
"""
|
|
||||||
Then the result should be:
|
|
||||||
| n.prop |
|
|
||||||
| 1 |
|
|
||||||
| 2 |
|
|
||||||
| 3 |
|
|
||||||
|
|
||||||
Scenario: Test exists with different edge type
|
Scenario: Test exists with different edge type
|
||||||
Given an empty graph
|
Given an empty graph
|
||||||
And having executed:
|
And having executed:
|
||||||
|
@ -4484,6 +4484,13 @@ TEST_P(CypherMainVisitorTest, ExistsThrow) {
|
|||||||
|
|
||||||
TestInvalidQueryWithMessage<SyntaxException>("MATCH (n) WHERE exists(p=(n)-[]->()) RETURN n;", ast_generator,
|
TestInvalidQueryWithMessage<SyntaxException>("MATCH (n) WHERE exists(p=(n)-[]->()) RETURN n;", ast_generator,
|
||||||
"Identifiers are not supported in exists(...).");
|
"Identifiers are not supported in exists(...).");
|
||||||
|
|
||||||
|
TestInvalidQueryWithMessage<SyntaxException>("MATCH (n) WHERE exists() RETURN n;", ast_generator,
|
||||||
|
"EXISTS supports only a single relation as its input.");
|
||||||
|
TestInvalidQueryWithMessage<SyntaxException>("MATCH (n) WHERE exists((n)) RETURN n;", ast_generator,
|
||||||
|
"EXISTS supports only a single relation as its input.");
|
||||||
|
TestInvalidQueryWithMessage<SyntaxException>("MATCH (n) WHERE exists((n)-[]) RETURN n;", ast_generator,
|
||||||
|
"EXISTS supports only a single relation as its input.");
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_P(CypherMainVisitorTest, Exists) {
|
TEST_P(CypherMainVisitorTest, Exists) {
|
||||||
@ -4533,22 +4540,6 @@ TEST_P(CypherMainVisitorTest, Exists) {
|
|||||||
ASSERT_TRUE(edge2);
|
ASSERT_TRUE(edge2);
|
||||||
ASSERT_TRUE(node3);
|
ASSERT_TRUE(node3);
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
|
||||||
const auto *query = dynamic_cast<CypherQuery *>(ast_generator.ParseQuery("MATCH (n) WHERE exists((n)) RETURN n;"));
|
|
||||||
const auto *match = dynamic_cast<Match *>(query->single_query_->clauses_[0]);
|
|
||||||
|
|
||||||
const auto *exists = dynamic_cast<Exists *>(match->where_->expression_);
|
|
||||||
|
|
||||||
ASSERT_TRUE(exists);
|
|
||||||
|
|
||||||
const auto pattern = exists->pattern_;
|
|
||||||
ASSERT_TRUE(pattern->atoms_.size() == 1);
|
|
||||||
|
|
||||||
const auto *node = dynamic_cast<NodeAtom *>(pattern->atoms_[0]);
|
|
||||||
|
|
||||||
ASSERT_TRUE(node);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_P(CypherMainVisitorTest, CallSubqueryThrow) {
|
TEST_P(CypherMainVisitorTest, CallSubqueryThrow) {
|
||||||
|
Loading…
Reference in New Issue
Block a user