Test Suite for the Execution Engine
Query:
- Query with 0 answer objects.
- Query with 1 answer objects.
- Query with many (>1) answer objects.
- Query with 1 level nested answer objects.
- Query with 2 level nested answer objects.
- Query with many (3) level nested answer objects.
Extract:
- Extract with 0 conditions.
- Extract with 1 condition.
- Extract with many (>1) conditions.
- Extract with 1 level nested condition.
- Extract with many (2) level nested condition.
- Extract with CONSTANT oid.
- Extract with VARIABLE oid.
- Extract with CONSTANT label.
- Extract with VARIABLE label.
- Extract with CONSTANT atomic value.
- Extract with VARIABLE atomic value.
- Extract with set value. (same as 5)
- Extract with variables repeating in a single condition.
- Extract with variables repeating in many (>1) conditions.
- Extract with many (>1) (sub)conditions matching to same object.
Construct:
- Construct with 1 level nested template.
- Construct with many (2) level nested template.
- Construct with CONSTANT oid.
- Construct with VARIABLE oid.
- Construct with "head with 0 args" oid.
- Construct with "head with 1 arg" oid.
- Construct with "head with many (>1) args" oid.
- Construct with "head with a VARIABLE arg" oid.
- Construct with "head with a CONSTANT arg" oid.
- Construct with "head with a term arg" oid.
- Construct with CONSTANT label.
- Construct with VARIABLE label.
- Construct with "head with 0 args" label.
- Construct with "head with 1 arg" label.
- Construct with "head with many (>1) args" label.
- Construct with "head with a VARIABLE arg" label.
- Construct with "head with a CONSTANT arg" label.
- Construct with "head with a term arg" label.
- Construct with CONSTANT atomic value.
- Construct with VARIABLE atomic value.
- Construct with "head with 0 args" value.
- Construct with "head with 1 arg" value.
- Construct with "head with many (>1) args" value.
- Construct with "head with a VARIABLE arg" value.
- Construct with "head with a CONSTANT arg" value.
- Construct with "head with a term arg" value.
- Construct with set value. (same as 2)
- Construct with existing oid (object fusion).
- Construct with NULL oid.
Union:
- Union with left table having 0 tuples.
- Union with right table having 0 tuples.
- Union with left table having 1 tuple.
- Union with right table having 1 tuple.
- Union with left table having many (>1) tuples.
- Union with right table having many (>1) tuples.
Join:
- Join with left table having 0 tuples.
- Join with right table having 0 tuples.
- Join with left table having 1 tuple.
- Join with right table having 1 tuple.
- Join with left table having many (>1) tuples.
- Join with right table having many (>1) tuples.
- Join with 0 join variables.
- Join with 1 join variable.
- Join with many (>1) join variables.
- Join with join variables forming a key for left table.
- Join with join variables forming a key for right table.
- Join with join variables forming a key for both tables.
- Join with join variables not a key for either tables.
- Join with left table having 0 non-join variables.
- Join with left table having 1 non-join variable.
- Join with left table having many (>1) non-join variables.
- Join with right table having 0 non-join variables.
- Join with right table having 1 non-join variable.
- Join with right table having many (>1) non-join variables.
SortJoin:
- SortJoin with left table having 0 tuples.
- SortJoin with right table having 0 tuples.
- SortJoin with left table having 1 tuple.
- SortJoin with right table having 1 tuple.
- SortJoin with left table having many (>1) tuples.
- SortJoin with right table having many (>1) tuples.
- SortJoin with 0 join variables.
- SortJoin with 1 join variable.
- SortJoin with many (>1) join variables.
- SortJoin with join variables forming a key for left table.
- SortJoin with join variables forming a key for right table.
- SortJoin with join variables forming a key for both tables.
- SortJoin with join variables not a key for either tables.
- SortJoin with one of the tables having sorted tuples.
- SortJoin with one of the tables having tuples in reverse order.
- SortJoin with left table having 0 non-join variables.
- SortJoin with left table having 1 non-join variable.
- SortJoin with left table having many (>1) non-join variables.
- SortJoin with right table having 0 non-join variables.
- SortJoin with right table having 1 non-join variable.
- SortJoin with right table having many (>1) non-join variables.
Project:
- Project 0 variables of a table.
- Project 1 variable of a table.
- Project a subset (>1) variables of a table.
- Project all variables of a table.
Filter:
- (1) Filter on "=" of a string variable.
- (2) Filter on "<" of a string variable.
- (3) Filter on ">" of a string variable.
- (4) Filter on "<=" of a string variable.
- (5) Filter on ">=" of a string variable.
- (6) Filter on "!=" of a string variable.
- (7) Filter on "=" of an int variable.
- (8) Filter on "<" of an int variable.
- (9) Filter on ">" of an int variable.
- (10) Filter on "<=" of an int variable.
- (11) Filter on ">=" of an int variable.
- (12) Filter on "!=" of an int variable.