Skip to content

Commit

Permalink
add test case
Browse files Browse the repository at this point in the history
  • Loading branch information
nevermore3 committed Sep 28, 2021
1 parent 77c3daa commit 13c8897
Show file tree
Hide file tree
Showing 6 changed files with 412 additions and 58 deletions.
100 changes: 94 additions & 6 deletions tests/tck/features/path/AllPath.IntVid.feature
Original file line number Diff line number Diff line change
Expand Up @@ -113,11 +113,11 @@ Feature: Integer Vid All Path
Scenario: Integer Vid [1] ALL Path With Limit
When executing query:
"""
FIND ALL PATH FROM hash("Tim Duncan") TO hash("Tony Parker"), hash("Spurs") OVER like,serve UPTO 3 STEPS
| ORDER BY $-.path | LIMIT 3
FIND ALL PATH FROM hash("Tim Duncan") TO hash("Tony Parker"), hash("Spurs") OVER like,serve UPTO 3 STEPS YIELD path as p |
ORDER BY $-.p | LIMIT 3
"""
Then the result should be, in any order, with relax comparison:
| path |
| p |
| <("Tim Duncan")-[:like]->("Tony Parker")> |
| <("Tim Duncan")-[:like]->("Tony Parker")-[:like]->("LaMarcus Aldridge")-[:like]->("Tony Parker")> |
| <("Tim Duncan")-[:like]->("Tony Parker")-[:like]->("LaMarcus Aldridge")-[:serve]->("Spurs")> |
Expand All @@ -126,11 +126,11 @@ Feature: Integer Vid All Path
When executing query:
"""
$a = GO FROM hash("Tim Duncan") over * YIELD like._dst AS src, serve._src AS dst;
FIND ALL PATH FROM $a.src TO $a.dst OVER like UPTO 3 STEPS
| ORDER BY $-.path | LIMIT 5
FIND ALL PATH FROM $a.src TO $a.dst OVER like UPTO 3 STEPS YIELD path as p |
ORDER BY $-.p | LIMIT 5
"""
Then the result should be, in any order, with relax comparison:
| path |
| p |
| <("Tony Parker")-[:like@0]->("LaMarcus Aldridge")-[:like@0]->("Tim Duncan")> |
| <("Tony Parker")-[:like@0]->("LaMarcus Aldridge")-[:like@0]->("Tony Parker")-[:like@0]->("Tim Duncan")> |
| <("Tony Parker")-[:like@0]->("Manu Ginobili")-[:like@0]->("Tim Duncan")> |
Expand Down Expand Up @@ -253,3 +253,91 @@ Feature: Integer Vid All Path
| <("Yao Ming" :player{age: 38, name: "Yao Ming"})-[:like@0 {likeness: 90}]->("Shaquile O'Neal" :player{age: 47, name: "Shaquile O'Neal"})-[:like@0 {likeness: 80}]->("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"})-[:teammate@0 {end_year: 2016, start_year: 2010}]->("Danny Green" :player{age: 31, name: "Danny Green"})> |
| <("Yao Ming" :player{age: 38, name: "Yao Ming"})-[:like@0 {likeness: 90}]->("Tracy McGrady" :player{age: 39, name: "Tracy McGrady"})-[:serve@0 {end_year: 2000, start_year: 1997}]->("Raptors" :team{name: "Raptors"})<-[:serve@0 {end_year: 2019, start_year: 2018}]-("Danny Green" :player{age: 31, name: "Danny Green"})> |
| <("Yao Ming" :player{age: 38, name: "Yao Ming"})-[:like@0 {likeness: 90}]->("Tracy McGrady" :player{age: 39, name: "Tracy McGrady"})-[:serve@0 {end_year: 2013, start_year: 2013}]->("Spurs" :team{name: "Spurs"})<-[:serve@0 {end_year: 2018, start_year: 2010}]-("Danny Green" :player{age: 31, name: "Danny Green"})> |

Scenario: Integer Vid ALL PATH YIELD PATH
When executing query:
"""
FIND ALL PATH FROM hash("Tim Duncan") TO hash("Tony Parker") OVER like BIDIRECT UPTO 3 STEPS YIELD path as p
"""
Then the result should be, in any order, with relax comparison:
| p |
| <("Tim Duncan")<-[:like]-("Tony Parker")> |
| <("Tim Duncan")-[:like]->("Tony Parker")> |
| <("Tim Duncan")<-[:like]-("Marco Belinelli")-[:like]->("Tony Parker")> |
| <("Tim Duncan")<-[:like]-("Dejounte Murray")-[:like]->("Tony Parker")> |
| <("Tim Duncan")<-[:like]-("LaMarcus Aldridge")<-[:like]-("Tony Parker")> |
| <("Tim Duncan")<-[:like]-("LaMarcus Aldridge")-[:like]->("Tony Parker")> |
| <("Tim Duncan")<-[:like]-("Manu Ginobili")<-[:like]-("Tony Parker")> |
| <("Tim Duncan")-[:like]->("Manu Ginobili")<-[:like]-("Tony Parker")> |
| <("Tim Duncan")<-[:like]-("Boris Diaw")-[:like]->("Tony Parker")> |
| <("Tim Duncan")<-[:like]-("Danny Green")<-[:like]-("Marco Belinelli")-[:like]->("Tony Parker")> |
| <("Tim Duncan")<-[:like]-("Danny Green")-[:like]->("Marco Belinelli")-[:like]->("Tony Parker")> |
| <("Tim Duncan")<-[:like]-("Dejounte Murray")-[:like]->("Marco Belinelli")-[:like]->("Tony Parker")> |
| <("Tim Duncan")<-[:like]-("Manu Ginobili")<-[:like]-("Dejounte Murray")-[:like]->("Tony Parker")> |
| <("Tim Duncan")-[:like]->("Manu Ginobili")<-[:like]-("Dejounte Murray")-[:like]->("Tony Parker")> |
| <("Tim Duncan")<-[:like]-("Danny Green")<-[:like]-("Dejounte Murray")-[:like]->("Tony Parker")> |
| <("Tim Duncan")<-[:like]-("Marco Belinelli")<-[:like]-("Dejounte Murray")-[:like]->("Tony Parker")> |
| <("Tim Duncan")<-[:like]-("Tony Parker")<-[:like]-("LaMarcus Aldridge")<-[:like]-("Tony Parker")> |
| <("Tim Duncan")-[:like]->("Tony Parker")<-[:like]-("LaMarcus Aldridge")<-[:like]-("Tony Parker")> |
| <("Tim Duncan")<-[:like]-("Tony Parker")-[:like]->("LaMarcus Aldridge")-[:like]->("Tony Parker")> |
| <("Tim Duncan")-[:like]->("Tony Parker")-[:like]->("LaMarcus Aldridge")-[:like]->("Tony Parker")> |
| <("Tim Duncan")<-[:like]-("Manu Ginobili")<-[:like]-("Tim Duncan")<-[:like]-("Tony Parker")> |
| <("Tim Duncan")-[:like]->("Manu Ginobili")-[:like]->("Tim Duncan")<-[:like]-("Tony Parker")> |
| <("Tim Duncan")<-[:like]-("Manu Ginobili")<-[:like]-("Tim Duncan")-[:like]->("Tony Parker")> |
| <("Tim Duncan")-[:like]->("Manu Ginobili")-[:like]->("Tim Duncan")-[:like]->("Tony Parker")> |
| <("Tim Duncan")<-[:like]-("Dejounte Murray")-[:like]->("Manu Ginobili")<-[:like]-("Tony Parker")> |
| <("Tim Duncan")<-[:like]-("Tiago Splitter")-[:like]->("Manu Ginobili")<-[:like]-("Tony Parker")> |
When executing query:
"""
FIND ALL PATH WITH PROP FROM hash("Yao Ming") TO hash("Danny Green") OVER * BIDIRECT
WHERE like.likeness is EMPTY OR like.likeness >= 80 UPTO 3 STEPS YIELD path as p |
YIELD startnode($-.p) as startnode
"""
Then the result should be, in any order, with relax comparison:
| startnode |
| ("Yao Ming" :player{age: 38, name: "Yao Ming"}) |
| ("Yao Ming" :player{age: 38, name: "Yao Ming"}) |
| ("Yao Ming" :player{age: 38, name: "Yao Ming"}) |
| ("Yao Ming" :player{age: 38, name: "Yao Ming"}) |
When executing query:
"""
FIND ALL PATH WITH PROP FROM hash("Yao Ming") TO hash("Danny Green") OVER * BIDIRECT
WHERE like.likeness is EMPTY OR like.likeness >= 80 UPTO 3 STEPS YIELD path as p |
YIELD endnode($-.p) as endnode
"""
Then the result should be, in any order, with relax comparison:
| endnode |
| ("Danny Green" :player{age: 31, name: "Danny Green"}) |
| ("Danny Green" :player{age: 31, name: "Danny Green"}) |
| ("Danny Green" :player{age: 31, name: "Danny Green"}) |
| ("Danny Green" :player{age: 31, name: "Danny Green"}) |
When executing query:
"""
FIND ALL PATH WITH PROP FROM hash("Tim Duncan") TO hash("Tony Parker") OVER like UPTO 3 STEPS YIELD path as p |
YIELD length($-.p) as length
"""
Then the result should be, in any order, with relax comparison:
| length |
| 1 |
| 3 |
| 3 |
When executing query:
"""
FIND ALL PATH WITH PROP FROM hash("Tim Duncan") TO hash("Tony Parker") OVER like UPTO 3 STEPS YIELD path as p |
YIELD relationships($-.p) as relationships
"""
Then the result should be, in any order, with relax comparison:
| relationships |
| [[:like "Tim Duncan"->"Tony Parker" @0 {likeness: 95}]] |
| [[:like "Tim Duncan"->"Manu Ginobili" @0 {likeness: 95}], [:like "Manu Ginobili"->"Tim Duncan" @0 {likeness: 90}], [:like "Tim Duncan"->"Tony Parker" @0 {likeness: 95}]] |
| [[:like "Tim Duncan"->"Tony Parker" @0 {likeness: 95}], [:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}], [:like "LaMarcus Aldridge"->"Tony Parker" @0 {likeness: 75}]] |
When executing query:
"""
FIND ALL PATH WITH PROP FROM hash("Tim Duncan") TO hash("Tony Parker") OVER like UPTO 3 STEPS YIELD path as p |
YIELD nodes($-.p) as nodes
"""
Then the result should be, in any order, with relax comparison:
| nodes |
| [("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"}), ("Tony Parker" :player{age: 36, name: "Tony Parker"})] |
| [("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"}), ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"}), ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"}), ("Tony Parker" :player{age: 36, name: "Tony Parker"})] |
| [("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"}), ("Tony Parker" :player{age: 36, name: "Tony Parker"}), ("LaMarcus Aldridge" :player{age: 33, name: "LaMarcus Aldridge"}), ("Tony Parker" :player{age: 36, name: "Tony Parker"})] |
Loading

0 comments on commit 13c8897

Please sign in to comment.