320 lines
28 KiB
Plaintext
320 lines
28 KiB
Plaintext
## execute with
|
|
## TestRunner -i ~/secondo/Algebras/SPart2/SPart2.test
|
|
## TestRunner --valgrindlc -i ~/secondo/Algebras/SPart2/SPart2.test
|
|
|
|
########################################
|
|
# INITIALIZATION
|
|
########################################
|
|
delete database SPart2Test;
|
|
|
|
#setup SPart2Test
|
|
create database SPart2Test;
|
|
open database SPart2Test;
|
|
|
|
|
|
########################################
|
|
# OPERATOR - create_irgrid3d
|
|
########################################
|
|
|
|
#testcase -1.1.1- create_irgrid3d with five arguements
|
|
#yields (text 'irgrid3d')
|
|
query [const rect3 value (0.0 0.5 0.0 0.5 0.0 0.5)] feed [const rect3 value (1.2 1.8 0.2 0.4 0.0 1.0)] feed concat feed [const rect3 value (0.25 0.5 1.2 1.5 1.0 1.2)] feed concat feed [const rect3 value (1.5 1.8 1.5 1.8 1.5 1.8)] feed concat create_irgrid3d [rectangle3(0.0, 2.0, 0.0, 2.0, 0.0, 2.0),2,2,2] getTypeNL
|
|
|
|
#testcase -1.1.2 create_irgrid3d with bbox values (dimension)
|
|
#yields error
|
|
query [const rect3 value (0.0 0.5 0.0 0.5 0.0 0.5)] feed [const rect3 value (1.2 1.8 0.2 0.4 0.0 1.0)] feed concat feed [const rect3 value (0.25 0.5 1.2 1.5 1.0 1.2)] feed concat feed [const rect3 value (1.5 1.8 1.5 1.8 1.5 1.8)] feed concat create_irgrid3d [rectangle3(0.0, 2.0, 0.0, 2.0),2,2,2]
|
|
|
|
#testcase -1.1.3 create_irgrid3d with missing number of cells
|
|
#yields error
|
|
query [const rect3 value (0.0 0.5 0.0 0.5 0.0 0.5)] feed [const rect3 value (1.2 1.8 0.2 0.4 0.0 1.0)] feed concat feed [const rect3 value (0.25 0.5 1.2 1.5 1.0 1.2)] feed concat feed [const rect3 value (1.5 1.8 1.5 1.8 1.5 1.8)] feed concat create_irgrid3d [rectangle3(0.0, 2.0, 0.0, 2.0, 0.0, 2.0),2,2]
|
|
|
|
|
|
#testcase -1.1.4 create_irgrid3d with missing stream of rectangles
|
|
#yields error
|
|
query create_irgrid3d [rectangle3(0.0, 2.0, 0.0, 2.0, 0.0, 2.0),2,2,2]
|
|
|
|
|
|
#testcase -1.1.5 create_irgrid3d with rectangle not 3d
|
|
#yields error
|
|
query [const rect3 value (0.0 0.5 0.0 0.5)] feed [const rect3 value (1.2 1.8 0.2 0.4 0.0 1.0)] feed concat feed [const rect3 value (0.25 0.5 1.2 1.5 1.0 1.2)] feed concat feed [const rect3 value (1.5 1.8 1.5 1.8 1.5 1.8)] feed concat create_irgrid3d [rectangle3(0.0, 2.0, 0.0, 2.0, 0.0, 2.0),2,2,2]
|
|
|
|
|
|
########################################
|
|
# OPERATOR - cellnos_ir
|
|
########################################
|
|
#testcase -1.2.1- cellnos_ir with multiple cells
|
|
#yields (intset (1 2 3 4 5 6 7 8))
|
|
query cellnos_ir(([const rect3 value (0.0 0.5 0.0 0.5 0.0 0.5)] feed [const rect3 value (1.2 1.8 0.2 0.4 0.0 1.0)] feed concat feed [const rect3 value (0.25 0.5 1.2 1.5 1.0 1.2)] feed concat feed [const rect3 value (1.5 1.8 1.5 1.8 1.5 1.8)] feed concat create_irgrid3d [rectangle3(0.0, 2.0, 0.0, 2.0, 0.0, 2.0),2,2,2]), rectangle3(0.0, 1.0, 0.0, 1.5, 0.0, 1.5))
|
|
|
|
#testcase -1.2.2- cellnos_ir object at the border
|
|
#yields (intset (8))
|
|
query cellnos_ir(([const rect3 value (0.0 0.5 0.0 0.5 0.0 0.5)] feed [const rect3 value (1.2 1.8 0.2 0.4 0.0 1.0)] feed concat feed [const rect3 value (0.25 0.5 1.2 1.5 1.0 1.2)] feed concat feed [const rect3 value (1.5 1.8 1.5 1.8 1.5 1.8)] feed concat create_irgrid3d [rectangle3(0.0, 2.0, 0.0, 2.0, 0.0, 2.0),2,2,2]), rectangle3(1.9, 2.0, 1.0, 1.5, 1.0, 1.99))
|
|
|
|
#testcase -1.2.3- cellnos_ir no cell
|
|
#yields (intset (0))
|
|
query cellnos_ir(([const rect3 value (0.0 0.5 0.0 0.5 0.0 0.5)] feed [const rect3 value (1.2 1.8 0.2 0.4 0.0 1.0)] feed concat feed [const rect3 value (0.25 0.5 1.2 1.5 1.0 1.2)] feed concat feed [const rect3 value (1.5 1.8 1.5 1.8 1.5 1.8)] feed concat create_irgrid3d [rectangle3(0.0, 2.0, 0.0, 2.0, 0.0, 2.0),2,2,2]), rectangle3(2.01, 2.1, 2.01, 2.5, 2.01, 2.5))
|
|
|
|
#testcase -1.2.4- cellnos_ir rectangle not in grid
|
|
#yields (intset (0))
|
|
query cellnos_ir(([const rect3 value (0.0 0.5 0.0 0.5 0.0 0.5)] feed [const rect3 value (1.2 1.8 0.2 0.4 0.0 1.0)] feed concat feed [const rect3 value (0.25 0.5 1.2 1.5 1.0 1.2)] feed concat feed [const rect3 value (1.5 1.8 1.5 1.8 1.5 1.8)] feed concat create_irgrid3d [rectangle3(0.0, 2.0, 0.0, 2.0, 0.0, 2.0),2,2,2]), rectangle3(5.0, 15.0, 5.0, 15.5, 20.0, 21.5))
|
|
|
|
#testcase -1.2.5- cellnos_ir rectangle only in one cell
|
|
#yields (intset (1))
|
|
query cellnos_ir(([const rect3 value (0.0 0.5 0.0 0.5 0.0 0.5)] feed [const rect3 value (1.2 1.8 0.2 0.4 0.0 1.0)] feed concat feed [const rect3 value (0.25 0.5 1.2 1.5 1.0 1.2)] feed concat feed [const rect3 value (1.5 1.8 1.5 1.8 1.5 1.8)] feed concat create_irgrid3d [rectangle3(0.0, 2.0, 0.0, 2.0, 0.0, 2.0),2,2,2]), rectangle3(0.1, 0.2, 0.1, 0.2, 0.1, 0.2))
|
|
|
|
#testcase -1.2.6- cellnos_ir rectangle over bbox
|
|
#yields (intset (0 1 2 3 4 5 6 7 8))
|
|
query cellnos_ir(([const rect3 value (0.0 0.5 0.0 0.5 0.0 0.5)] feed [const rect3 value (1.2 1.8 0.2 0.4 0.0 1.0)] feed concat feed [const rect3 value (0.25 0.5 1.2 1.5 1.0 1.2)] feed concat feed [const rect3 value (1.5 1.8 1.5 1.8 1.5 1.8)] feed concat create_irgrid3d [rectangle3(0.0, 2.0, 0.0, 2.0, 0.0, 2.0),2,2,2]), rectangle3(0.0, 2.1, 0.0, 1.5, 0.0, 2.5))
|
|
|
|
#testcase -1.2.7- cellnos_ir wrong dimension
|
|
#yields error
|
|
query cellnos_ir(([const rect3 value (0.0 0.5 0.0 0.5 0.0 0.5)] feed [const rect3 value (1.2 1.8 0.2 0.4 0.0 1.0)] feed concat feed [const rect3 value (0.25 0.5 1.2 1.5 1.0 1.2)] feed concat feed [const rect3 value (1.5 1.8 1.5 1.8 1.5 1.8)] feed concat create_irgrid3d [rectangle3(0.0, 2.0, 0.0, 2.0, 0.0, 2.0),2,2,2]), rectangle3(0.0, 1.0, 0.0, 1.5))
|
|
|
|
#testcase -1.2.8- cellnos_ir wrong input rectangle
|
|
#yields error
|
|
query cellnos_ir(([const rect3 value (0.0 0.5 0.0 0.5 0.0 0.5)] feed [const rect3 value (1.2 1.8 0.2 0.4 0.0 1.0)] feed concat feed [const rect3 value (0.25 0.5 1.2 1.5 1.0 1.2)] feed concat feed [const rect3 value (1.5 1.8 1.5 1.8 1.5 1.8)] feed concat create_irgrid3d [rectangle3(0.0, 2.0, 0.0, 2.0, 0.0, 2.0),2,2,2]), rectangle2(0.0, 1.0, 0.0, 1.5))
|
|
|
|
########################################
|
|
# OPERATOR - scc_ir3d
|
|
########################################
|
|
#testcase -1.3.1- scc_ir3d
|
|
#yields (bool TRUE)
|
|
query scc_ir3d(([const rect3 value (0.0 0.5 0.0 0.5 0.0 0.5)] feed [const rect3 value (1.2 1.8 0.2 0.4 0.0 1.0)] feed concat feed [const rect3 value (0.25 0.5 1.2 1.5 1.0 1.2)] feed concat feed [const rect3 value (1.5 1.8 1.5 1.8 1.5 1.8)] feed concat create_irgrid3d [rectangle3(0.0, 2.0, 0.0, 2.0, 0.0, 2.0),2,2,2]), rectangle3(0.0, 1.0, 0.0, 1.5, 0.0, 1.5), rectangle3(0.0, 1.0, 0.0, 0.5, 0.0, 0.5),1)
|
|
|
|
|
|
#testcase -1.3.2- scc_ir3d missing values
|
|
#yields error
|
|
query scc_ir3d(([const rect3 value (0.0 0.5 0.0 0.5 0.0 0.5)] feed [const rect3 value (1.2 1.8 0.2 0.4 0.0 1.0)] feed concat feed [const rect3 value (0.25 0.5 1.2 1.5 1.0 1.2)] feed concat feed [const rect3 value (1.5 1.8 1.5 1.8 1.5 1.8)] feed concat create_irgrid3d [rectangle3(0.0, 2.0, 0.0, 2.0, 0.0, 2.0),2,2,2]), rectangle3(0.0, 1.0, 0.0, 0.5, 0.0, 0.5),1)
|
|
|
|
|
|
|
|
#testcase -1.3.3- scc_ir3d no common cell
|
|
#yields (bool FALSE)
|
|
query scc_ir3d(([const rect3 value (0.0 0.5 0.0 0.5 0.0 0.5)] feed [const rect3 value (1.2 1.8 0.2 0.4 0.0 1.0)] feed concat feed [const rect3 value (0.25 0.5 1.2 1.5 1.0 1.2)] feed concat feed [const rect3 value (1.5 1.8 1.5 1.8 1.5 1.8)] feed concat create_irgrid3d [rectangle3(0.0, 2.0, 0.0, 2.0, 0.0, 2.0),2,2,2]), rectangle3(0.0, 0.1, 0.0, 0.1, 0.0, 0.5), rectangle3(1.8, 1.9, 1.8, 1.9, 1.8, 1.9),1)
|
|
|
|
|
|
#testcase -1.3.4- scc_ir3d same values
|
|
#yields (bool TRUE)
|
|
query scc_ir3d(([const rect3 value (0.0 0.5 0.0 0.5 0.0 0.5)] feed [const rect3 value (1.2 1.8 0.2 0.4 0.0 1.0)] feed concat feed [const rect3 value (0.25 0.5 1.2 1.5 1.0 1.2)] feed concat feed [const rect3 value (1.5 1.8 1.5 1.8 1.5 1.8)] feed concat create_irgrid3d [rectangle3(0.0, 2.0, 0.0, 2.0, 0.0, 2.0),2,2,2]), rectangle3(0.0, 1.0, 0.0, 0.5, 0.0, 0.5), rectangle3(0.0, 1.0, 0.0, 0.5, 0.0, 0.5),1)
|
|
|
|
########################################
|
|
# OPERATOR - getcell_ir3d
|
|
########################################
|
|
#testcase -1.4.1- getcell_ir3d
|
|
#yields (text 'rect3')
|
|
query getcell_ir3d(([const rect3 value (0.0 0.5 0.0 0.5 0.0 0.5)] feed [const rect3 value (1.2 1.8 0.2 0.4 0.0 1.0)] feed concat feed [const rect3 value (0.25 0.5 1.2 1.5 1.0 1.2)] feed concat feed [const rect3 value (1.5 1.8 1.5 1.8 1.5 1.8)] feed concat create_irgrid3d [rectangle3(0.0, 2.0, 0.0, 2.0, 0.0, 2.0),2,2,2]), 1) getTypeNL
|
|
|
|
|
|
#testcase -1.4.2- getcell_ir3d cellid not known
|
|
#yields (rect3 undefined)
|
|
query getcell_ir3d(([const rect3 value (0.0 0.5 0.0 0.5 0.0 0.5)] feed [const rect3 value (1.2 1.8 0.2 0.4 0.0 1.0)] feed concat feed [const rect3 value (0.25 0.5 1.2 1.5 1.0 1.2)] feed concat feed [const rect3 value (1.5 1.8 1.5 1.8 1.5 1.8)] feed concat create_irgrid3d [rectangle3(0.0, 2.0, 0.0, 2.0, 0.0, 2.0),2,2,2]), 10)
|
|
|
|
|
|
#testcase -1.4.3- getcell_ir3d missing cellid
|
|
#yields error
|
|
query getcell_ir3d(([const rect3 value (0.0 0.5 0.0 0.5 0.0 0.5)] feed [const rect3 value (1.2 1.8 0.2 0.4 0.0 1.0)] feed concat feed [const rect3 value (0.25 0.5 1.2 1.5 1.0 1.2)] feed concat feed [const rect3 value (1.5 1.8 1.5 1.8 1.5 1.8)] feed concat create_irgrid3d [rectangle3(0.0, 2.0, 0.0, 2.0, 0.0, 2.0),2,2,2]))
|
|
|
|
########################################
|
|
# OPERATOR - create_2dtree
|
|
########################################
|
|
#testcase -2.1.1- create_2dtree version 1_1
|
|
#yields (kdtree2d((0.0 2.0 0.0 2.0) ((0.0 0.25 0.0 0.7 1) (0.25 0.9 0.0 0.7 2) (0.9 1.0 0.0 1.5 3) (1.0 2.0 0.0 1.5 4) (0.0 0.9 0.7 2.0 5) (0.9 2.0 1.5 2.0 6))))
|
|
query [const rect value (0.1 0.4 0.1 0.4)] feed [const rect value (0.8 1.0 0.8 1.0)] feed concat feed [const rect value (1.0 2.0 1.0 2.0)] feed concat feed [const rect value (0.5 1.5 0.5 1.0)] feed concat feed [const rect value (0.3 0.6 0.6 0.8)] feed concat create_2dtree[rectangle2(0.0, 2.0, 0.0, 2.0),1]
|
|
|
|
#testcase -2.1.3- create_2dtree version 2_1
|
|
#yields (kdtree2d((0.0 2.0 0.0 2.0) ((0.0 0.9 0.0 0.475 1) (0.9 2.0 0.0 0.9 2) (0.0 0.9 0.475 2.0 3) (0.9 1.2 0.9 2.0 4) (1.2 2.0 0.9 2.0 5))))
|
|
query [const rect value (0.1 0.4 0.1 0.4)] feed [const rect value (0.8 1.0 0.8 1.0)] feed concat feed [const rect value (1.0 2.0 1.0 2.0)] feed concat feed [const rect value (0.5 1.5 0.5 1.0)] feed concat feed [const rect value (0.3 0.6 0.6 0.8)] feed concat create_2dtree[rectangle2(0.0, 2.0, 0.0, 2.0),2]
|
|
|
|
#testcase -2.1.5- create_2dtree missing bbox
|
|
#yields error
|
|
query [const rect value (0.1 0.4 0.1 0.4)] feed [const rect value (0.8 1.0 0.8 1.0)] feed concat feed [const rect value (1.0 2.0 1.0 2.0)] feed concat feed [const rect value (0.5 1.5 0.5 1.0)] feed concat feed [const rect value (0.3 0.6 0.6 0.8)] feed concat create_2dtree[1]
|
|
|
|
#testcase -2.1.6- create_2dtree wrong values for rectangle<2> (dimension)
|
|
#yields error
|
|
query [const rect value (0.1 0.4)] feed [const rect value (0.8 1.0 0.8 1.0)] feed concat feed [const rect value (1.0 2.0 1.0 2.0)] feed concat feed [const rect value (0.5 1.5 0.5 1.0)] feed concat feed [const rect value (0.3 0.6 0.6 0.8)] feed concat create_2dtree[rectangle2(0.0, 2.0, 0.0, 2.0),1]
|
|
|
|
#testcase -2.1.7- create_2dtree same rectangles
|
|
#yields (kdtree2d ((0.0 2.0 0.0 2.0) ((0.0 0.25 0.0 0.7 1) (0.25 0.9 0.0 0.7 2) (0.9 2.0 0.0 1.5 3) (0.0 0.9 0.7 2.0 4) (0.9 2.0 1.5 2.0 5))))
|
|
query [const rect value (0.1 0.4 0.1 0.4)] feed [const rect value (0.8 1.0 0.8 1.0)] feed concat feed [const rect value (1.0 2.0 1.0 2.0)] feed concat feed [const rect value (0.1 0.4 0.1 0.4)] feed concat feed [const rect value (0.3 0.6 0.6 0.8)] feed concat create_2dtree[rectangle2(0.0, 2.0, 0.0, 2.0),1]
|
|
|
|
########################################
|
|
# OPERATOR - cellnos_kd
|
|
########################################
|
|
#testcase -2.2.1-cellnos_kd cell at border
|
|
#yields (intset(6))
|
|
query cellnos_kd (([const rect value (0.1 0.4 0.1 0.4)] feed [const rect value (0.8 1.0 0.8 1.0)] feed concat feed [const rect value (1.0 2.0 1.0 2.0)] feed concat feed [const rect value (0.5 1.5 0.5 1.0)] feed concat feed [const rect value (0.3 0.6 0.6 0.8)] feed concat create_2dtree[rectangle2(0.0, 2.0, 0.0, 2.0),1]), rectangle2(0.9, 2.0, 1.8, 2.0))
|
|
|
|
#testcase -2.2.2-cellnos_kd multiple cells
|
|
#yields (intset(1 2 5))
|
|
query cellnos_kd (([const rect value (0.1 0.4 0.1 0.4)] feed [const rect value (0.8 1.0 0.8 1.0)] feed concat feed [const rect value (1.0 2.0 1.0 2.0)] feed concat feed [const rect value (0.5 1.5 0.5 1.0)] feed concat feed [const rect value (0.3 0.6 0.6 0.8)] feed concat create_2dtree[rectangle2(0.0, 2.0, 0.0, 2.0),1]), rectangle2(0.1, 0.8, 0.1, 0.8))
|
|
|
|
#testcase -2.2.3-cellnos_kd one cell
|
|
#yields (intset(1))
|
|
query cellnos_kd (([const rect value (0.1 0.4 0.1 0.4)] feed [const rect value (0.8 1.0 0.8 1.0)] feed concat feed [const rect value (1.0 2.0 1.0 2.0)] feed concat feed [const rect value (0.5 1.5 0.5 1.0)] feed concat feed [const rect value (0.3 0.6 0.6 0.8)] feed concat create_2dtree[rectangle2(0.0, 2.0, 0.0, 2.0),1]), rectangle2(0.1, 0.2, 0.1, 0.2))
|
|
|
|
#testcase -2.2.4-cellnos_kd wrong values
|
|
#yields error
|
|
query cellnos_kd (([const rect value (0.1 0.4 0.1 0.4)] feed [const rect value (0.8 1.0 0.8 1.0)] feed concat feed [const rect value (1.0 2.0)] feed concat feed [const rect value (0.5 1.5 0.5 1.0)] feed concat feed [const rect value (0.3 0.6 0.6 0.8)] feed concat create_2dtree[rectangle2(0.0, 2.0, 0.0, 2.0),1]), rectangle2(0.1, 0.8, 0.1, 0.8))
|
|
|
|
#testcase -2.2.5-cellnos_kd missing values
|
|
#yields error
|
|
query cellnos_kd (([const rect value (0.1 0.4 0.1 0.4)] feed [const rect value (0.8 1.0 0.8 1.0)] feed concat feed [const rect value (1.0 2.0 1.0 2.0)] feed concat feed [const rect value (0.5 1.5 0.5 1.0)] feed concat feed [const rect value (0.3 0.6 0.6 0.8)] feed concat create_2dtree[rectangle2(0.0, 2.0, 0.0, 2.0)]), rectangle2(0.1, 0.8, 0.1, 0.8))
|
|
|
|
#testcase -2.2.6-cellnos_kd no result
|
|
#yields (intset(0))
|
|
query cellnos_kd (([const rect value (0.1 0.4 0.1 0.4)] feed [const rect value (0.8 1.0 0.8 1.0)] feed concat feed [const rect value (1.0 2.0 1.0 2.0)] feed concat feed [const rect value (0.5 1.5 0.5 1.0)] feed concat feed [const rect value (0.3 0.6 0.6 0.8)] feed concat create_2dtree[rectangle2(0.0, 2.0, 0.0, 2.0),1]), rectangle2(2.1, 2.8, 2.1, 2.8))
|
|
|
|
########################################
|
|
# OPERATOR - scc_kd
|
|
########################################
|
|
#testcase -2.3.1-scc_kd
|
|
#yields (bool TRUE)
|
|
query scc_kd (([const rect value (0.1 0.4 0.1 0.4)] feed [const rect value (0.8 1.0 0.8 1.0)] feed concat feed [const rect value (1.0 2.0 1.0 2.0)] feed concat feed [const rect value (0.5 1.5 0.5 1.0)] feed concat feed [const rect value (0.3 0.6 0.6 0.8)] feed concat create_2dtree[rectangle2(0.0, 2.0, 0.0, 2.0),1]), rectangle2(0.1, 0.8, 0.1, 0.8), rectangle2(0.2, 0.9, 0.2, 0.9),1)
|
|
|
|
|
|
#testcase -2.3.2-scc_kd no result
|
|
#yields (bool FALSE)
|
|
query scc_kd (([const rect value (0.1 0.4 0.1 0.4)] feed [const rect value (0.8 1.0 0.8 1.0)] feed concat feed [const rect value (1.0 2.0 1.0 2.0)] feed concat feed [const rect value (0.5 1.5 0.5 1.0)] feed concat feed [const rect value (0.3 0.6 0.6 0.8)] feed concat create_2dtree[rectangle2(0.0, 2.0, 0.0, 2.0),1]), rectangle2(0.1, 0.8, 0.1, 0.8), rectangle2(1.2, 1.9, 1.2, 0.9),2)
|
|
|
|
#testcase -2.3.3-scc_kd same objects
|
|
#yields (bool TRUE)
|
|
query scc_kd (([const rect value (0.1 0.4 0.1 0.4)] feed [const rect value (0.8 1.0 0.8 1.0)] feed concat feed [const rect value (1.0 2.0 1.0 2.0)] feed concat feed [const rect value (0.5 1.5 0.5 1.0)] feed concat feed [const rect value (0.3 0.6 0.6 0.8)] feed concat create_2dtree[rectangle2(0.0, 2.0, 0.0, 2.0),1]), rectangle2(0.1, 0.8, 0.1, 0.8), rectangle2(0.1, 0.8, 0.1, 0.8),1)
|
|
|
|
########################################
|
|
# OPERATOR - getcell_kd
|
|
########################################
|
|
#testcase -2.4.1-getcell_kd
|
|
#yields (rect (0.25 0.9 0.0 0.7))
|
|
query getcell_kd (([const rect value (0.1 0.4 0.1 0.4)] feed [const rect value (0.8 1.0 0.8 1.0)] feed concat feed [const rect value (1.0 2.0 1.0 2.0)] feed concat feed [const rect value (0.5 1.5 0.5 1.0)] feed concat feed [const rect value (0.3 0.6 0.6 0.8)] feed concat create_2dtree[rectangle2(0.0, 2.0, 0.0, 2.0),1]),2)
|
|
|
|
|
|
#testcase -2.4.2-getcell_kd cellid not inside
|
|
#yields (rect undefined)
|
|
query getcell_kd (([const rect value (0.1 0.4 0.1 0.4)] feed [const rect value (0.8 1.0 0.8 1.0)] feed concat feed [const rect value (1.0 2.0 1.0 2.0)] feed concat feed [const rect value (0.5 1.5 0.5 1.0)] feed concat feed [const rect value (0.3 0.6 0.6 0.8)] feed concat create_2dtree[rectangle2(0.0, 2.0, 0.0, 2.0),1]),8)
|
|
|
|
|
|
#testcase -2.4.3-getcell_kd missing id
|
|
#yields error
|
|
query getcell_kd (([const rect value (0.1 0.4 0.1 0.4)] feed [const rect value (0.8 1.0 0.8 1.0)] feed concat feed [const rect value (1.0 2.0 1.0 2.0)] feed concat feed [const rect value (0.5 1.5 0.5 1.0)] feed concat feed [const rect value (0.3 0.6 0.6 0.8)] feed concat create_2dtree[rectangle2(0.0, 2.0, 0.0, 2.0),1]))
|
|
|
|
|
|
########################################
|
|
# OPERATOR - create_3dtree
|
|
########################################
|
|
#testcase -3.1.1-create_3dtree 1_1
|
|
#yields (kdtree3d((0.0 2.0 0.0 2.0 0.0 2.0) (((0.0 0.9 0.0 0.7 0.0 0.25) (1)) ((0.0 0.9 0.0 0.7 0.25 2.0) (2)) ((0.9 2.0 0.0 1.5 0.0 0.75) (3)) ((0.9 2.0 0.0 1.5 0.75 2.0) (4)) ((0.0 0.9 0.7 2.0 0.0 2.0) (5)) ((0.9 2.0 1.5 2.0 0.0 2.0) (6)))))
|
|
query [const rect3 value (0.1 0.4 0.1 0.4 0.1 0.4)] feed [const rect3 value (0.8 1.0 0.8 1.0 0.8 1.0)] feed concat feed [const rect3 value (1.0 2.0 1.0 2.0 1.0 2.0)] feed concat feed [const rect3 value (0.5 1.5 0.5 1.0 0.5 1.0)] feed concat feed [const rect3 value (0.3 0.6 0.6 0.8 0.6 0.8)] feed concat create_3dtree[rectangle3(0.0, 2.0, 0.0, 2.0, 0.0, 2.0),1]
|
|
|
|
#testcase -3.1.3-create_3dtree 2_1
|
|
#yields (kdtree3d((0.0 2.0 0.0 2.0 0.0 2.0) (((0.0 0.9 0.0 0.475 0.0 2.0) (1)) ((0.9 2.0 0.0 0.9 0.0 2.0) (2)) ((0.0 0.9 0.475 2.0 0.0 2.0) (3)) ((0.9 2.0 0.9 2.0 0.0 1.2) (4)) ((0.9 2.0 0.9 2.0 1.2 2.0) (5)))))
|
|
query [const rect3 value (0.1 0.4 0.1 0.4 0.1 0.4)] feed [const rect3 value (0.8 1.0 0.8 1.0 0.8 1.0)] feed concat feed [const rect3 value (1.0 2.0 1.0 2.0 1.0 2.0)] feed concat feed [const rect3 value (0.5 1.5 0.5 1.0 0.5 1.0)] feed concat feed [const rect3 value (0.3 0.6 0.6 0.8 0.6 0.8)] feed concat create_3dtree[rectangle3(0.0, 2.0, 0.0, 2.0, 0.0, 2.0),2]
|
|
|
|
#testcase -3.1.5-create_3dtree wrong Values
|
|
#yields (kdtree3d((0.0 2.0 0.0 2.0 0.0 2.0) (((0.0 0.9 0.0 0.475 0.0 2.0) (1)) ((0.9 2.0 0.0 0.9 0.0 2.0) (2)) ((0.0 0.9 0.475 2.0 0.0 2.0) (3)) ((0.9 2.0 0.9 2.0 0.0 1.2) (4)) ((0.9 2.0 0.9 2.0 1.2 2.0) (5)))))
|
|
query [const rect3 value (0.1 0.4 0.1 0.4 0.1 0.4)] feed [const rect3 value (0.8 1.0 0.8 1.0 0.8 1.0)] feed concat feed [const rect3 value (1.0 2.0 1.0 2.0 1.0 2.0)] feed concat feed [const rect3 value (0.5 1.5 0.5 1.0 0.5 1.0)] feed concat feed [const rect3 value (0.3 0.6 0.6 0.8 0.6 0.8)] feed concat create_3dtree[rectangle3(0.0, 2.0, 0.0, 2.0, 0.0, 2.0),3]
|
|
|
|
#testcase -3.1.6-create_3dtree missing values
|
|
#yields error
|
|
query [const rect3 value (0.1 0.4 0.1 0.4 0.1 0.4)] feed [const rect3 value (0.8 1.0 0.8 1.0 0.8 1.0)] feed concat feed [const rect3 value (1.0 2.0 1.0 2.0 1.0 2.0)] feed concat feed [const rect3 value (0.5 1.5 0.5 1.0 0.5 1.0)] feed concat feed [const rect3 value (0.3 0.6 0.6 0.8 0.6 0.8)] feed concat create_3dtree[2]
|
|
|
|
#testcase -3.1.7-create_3dtree same rectangles
|
|
#yields (kdtree3d ((0.0 2.0 0.0 2.0 0.0 2.0) (((0.0 0.675 0.0 0.475 0.0 2.0) (1)) ((0.675 2.0 0.0 1.2 0.0 2.0) (2)) ((0.0 0.675 0.475 2.0 0.0 2.0) (3)) ((0.675 2.0 1.2 2.0 0.0 2.0) (4)))))
|
|
query [const rect3 value (0.1 0.4 0.1 0.4 0.1 0.4)] feed [const rect3 value (0.8 1.0 0.8 1.0 0.8 1.0)] feed concat feed [const rect3 value (1.0 2.0 1.0 2.0 1.0 2.0)] feed concat feed [const rect3 value (1.0 2.0 1.0 2.0 1.0 2.0)] feed concat feed [const rect3 value (0.3 0.6 0.6 0.8 0.6 0.8)] feed concat create_3dtree[rectangle3(0.0, 2.0, 0.0, 2.0, 0.0, 2.0),2]
|
|
|
|
|
|
|
|
########################################
|
|
# OPERATOR - cellnos_kd
|
|
########################################
|
|
#testcase -3.2.1-cellnos_kd
|
|
#yields (intset(5 6))
|
|
query cellnos_kd(([const rect3 value (0.1 0.4 0.1 0.4 0.1 0.4)] feed [const rect3 value (0.8 1.0 0.8 1.0 0.8 1.0)] feed concat feed [const rect3 value (1.0 2.0 1.0 2.0 1.0 2.0)] feed concat feed [const rect3 value (0.5 1.5 0.5 1.0 0.5 1.0)] feed concat feed [const rect3 value (0.3 0.6 0.6 0.8 0.6 0.8)] feed concat create_3dtree[rectangle3(0.0, 2.0, 0.0, 2.0, 0.0, 2.0),1]), rectangle3(0.75, 1.99, 1.6, 1.99, 0.5, 1.0))
|
|
|
|
#testcase -3.2.2-cellnos_kd one cell
|
|
#yields (intset(1))
|
|
query cellnos_kd(([const rect3 value (0.1 0.4 0.1 0.4 0.1 0.4)] feed [const rect3 value (0.8 1.0 0.8 1.0 0.8 1.0)] feed concat feed [const rect3 value (1.0 2.0 1.0 2.0 1.0 2.0)] feed concat feed [const rect3 value (0.5 1.5 0.5 1.0 0.5 1.0)] feed concat feed [const rect3 value (0.3 0.6 0.6 0.8 0.6 0.8)] feed concat create_3dtree[rectangle3(0.0, 2.0, 0.0, 2.0, 0.0, 2.0),1]), rectangle3(0.1, 0.2, 0.1, 0.2, 0.1, 0.2))
|
|
|
|
#testcase -3.2.3-cellnos_kd multiple cells
|
|
#yields (intset(5 6))
|
|
query cellnos_kd(([const rect3 value (0.1 0.4 0.1 0.4 0.1 0.4)] feed [const rect3 value (0.8 1.0 0.8 1.0 0.8 1.0)] feed concat feed [const rect3 value (1.0 2.0 1.0 2.0 1.0 2.0)] feed concat feed [const rect3 value (0.5 1.5 0.5 1.0 0.5 1.0)] feed concat feed [const rect3 value (0.3 0.6 0.6 0.8 0.6 0.8)] feed concat create_3dtree[rectangle3(0.0, 2.0, 0.0, 2.0, 0.0, 2.0),1]), rectangle3(0.75, 1.99, 1.6, 1.99, 0.5, 1.0))
|
|
|
|
#testcase -3.2.4-cellnos_kd no intersection
|
|
#yields (intset(0))
|
|
query cellnos_kd(([const rect3 value (0.1 0.4 0.1 0.4 0.1 0.4)] feed [const rect3 value (0.8 1.0 0.8 1.0 0.8 1.0)] feed concat feed [const rect3 value (1.0 2.0 1.0 2.0 1.0 2.0)] feed concat feed [const rect3 value (0.5 1.5 0.5 1.0 0.5 1.0)] feed concat feed [const rect3 value (0.3 0.6 0.6 0.8 0.6 0.8)] feed concat create_3dtree[rectangle3(0.0, 2.0, 0.0, 2.0, 0.0, 2.0),1]), rectangle3(2.1, 2.2, 2.1, 2.2, 2.1, 2.2))
|
|
|
|
#testcase -3.2.5-cellnos_kd missing Values
|
|
#yields error
|
|
query cellnos_kd(([const rect3 value (0.1 0.4 0.1 0.4 0.1 0.4)] feed [const rect3 value (0.8 1.0 0.8 1.0 0.8 1.0)] feed concat feed [const rect3 value (1.0 2.0 1.0 2.0 1.0 2.0)] feed concat feed [const rect3 value (0.5 1.5 0.5 1.0 0.5 1.0)] feed concat feed [const rect3 value (0.3 0.6 0.6 0.8 0.6 0.8)] feed concat create_3dtree[rectangle3(0.0, 2.0, 0.0, 2.0, 0.0, 2.0),1]))
|
|
|
|
|
|
########################################
|
|
# OPERATOR - scc_3d
|
|
########################################
|
|
#testcase -3.3.1-scc_3d
|
|
#yields (bool TRUE)
|
|
query scc_3d(([const rect3 value (0.1 0.4 0.1 0.4 0.1 0.4)] feed [const rect3 value (0.8 1.0 0.8 1.0 0.8 1.0)] feed concat feed [const rect3 value (1.0 2.0 1.0 2.0 1.0 2.0)] feed concat feed [const rect3 value (0.5 1.5 0.5 1.0 0.5 1.0)] feed concat feed [const rect3 value (0.3 0.6 0.6 0.8 0.6 0.8)] feed concat create_3dtree[rectangle3(0.0, 2.0, 0.0, 2.0, 0.0, 2.0),1]), rectangle3(0.75, 1.99, 1.6, 1.99, 0.5, 1.0), rectangle3(0.9, 1.7, 1.6, 1.7, 0.5, 1.0), 6)
|
|
|
|
|
|
#testcase -3.3.2-scc_3d no intersection
|
|
#yields (bool FALSE)
|
|
query scc_3d(([const rect3 value (0.1 0.4 0.1 0.4 0.1 0.4)] feed [const rect3 value (0.8 1.0 0.8 1.0 0.8 1.0)] feed concat feed [const rect3 value (1.0 2.0 1.0 2.0 1.0 2.0)] feed concat feed [const rect3 value (0.5 1.5 0.5 1.0 0.5 1.0)] feed concat feed [const rect3 value (0.3 0.6 0.6 0.8 0.6 0.8)] feed concat create_3dtree[rectangle3(0.0, 2.0, 0.0, 2.0, 0.0, 2.0),1]), rectangle3(0.1, 0.2, 0.1, 0.2, 0.1, 0.2), rectangle3(0.9, 1.7, 1.6, 1.7, 0.5, 1.0),6)
|
|
|
|
#testcase -3.3.3-scc_3d same rectangles
|
|
#yields (bool TRUE)
|
|
query scc_3d(([const rect3 value (0.1 0.4 0.1 0.4 0.1 0.4)] feed [const rect3 value (0.8 1.0 0.8 1.0 0.8 1.0)] feed concat feed [const rect3 value (1.0 2.0 1.0 2.0 1.0 2.0)] feed concat feed [const rect3 value (0.5 1.5 0.5 1.0 0.5 1.0)] feed concat feed [const rect3 value (0.3 0.6 0.6 0.8 0.6 0.8)] feed concat create_3dtree[rectangle3(0.0, 2.0, 0.0, 2.0, 0.0, 2.0),1]), rectangle3(0.75, 1.99, 1.6, 1.99, 0.5, 1.0), rectangle3(0.75, 1.99, 1.6, 1.99, 0.5, 1.0),5)
|
|
|
|
|
|
########################################
|
|
# OPERATOR - getcell_3d
|
|
########################################
|
|
#testcase -3.4.1-getcell_3d
|
|
#yields (rect3 (0.9 2.0 1.5 2.0 0.0 2.0))
|
|
query getcell_3d(([const rect3 value (0.1 0.4 0.1 0.4 0.1 0.4)] feed [const rect3 value (0.8 1.0 0.8 1.0 0.8 1.0)] feed concat feed [const rect3 value (1.0 2.0 1.0 2.0 1.0 2.0)] feed concat feed [const rect3 value (0.5 1.5 0.5 1.0 0.5 1.0)] feed concat feed [const rect3 value (0.3 0.6 0.6 0.8 0.6 0.8)] feed concat create_3dtree[rectangle3(0.0, 2.0, 0.0, 2.0, 0.0, 2.0),1]), 6)
|
|
|
|
|
|
#testcase -3.4.2-getcell_3d cellid not inside
|
|
#yields (rect3 undefined)
|
|
query getcell_3d(([const rect3 value (0.1 0.4 0.1 0.4 0.1 0.4)] feed [const rect3 value (0.8 1.0 0.8 1.0 0.8 1.0)] feed concat feed [const rect3 value (1.0 2.0 1.0 2.0 1.0 2.0)] feed concat feed [const rect3 value (0.5 1.5 0.5 1.0 0.5 1.0)] feed concat feed [const rect3 value (0.3 0.6 0.6 0.8 0.6 0.8)] feed concat create_3dtree[rectangle3(0.0, 2.0, 0.0, 2.0, 0.0, 2.0),1]), 9)
|
|
|
|
|
|
#testcase -3.4.3-getcell_3d missing cellid
|
|
#yields error
|
|
query getcell_3d(([const rect3 value (0.1 0.4 0.1 0.4 0.1 0.4)] feed [const rect3 value (0.8 1.0 0.8 1.0 0.8 1.0)] feed concat feed [const rect3 value (1.0 2.0 1.0 2.0 1.0 2.0)] feed concat feed [const rect3 value (0.5 1.5 0.5 1.0 0.5 1.0)] feed concat feed [const rect3 value (0.3 0.6 0.6 0.8 0.6 0.8)] feed concat create_3dtree[rectangle3(0.0, 2.0, 0.0, 2.0, 0.0, 2.0),1]))
|
|
|
|
|
|
########################################
|
|
# OPERATOR - getcell_ir2d
|
|
########################################
|
|
#testcase -4.1.1-getcell_ir2d get rect values
|
|
#yields (text 'rect')
|
|
query getcell_ir2d(([const rect value (0.1 0.4 0.1 0.4)] feed [const rect value (0.15 0.45 0.15 0.45)] feed concat feed [const rect value (0.5 0.9 0.5 0.9)] feed concat feed [const rect value (1.15 1.6 0.3 0.35)] feed concat feed [const rect value (0.1 0.3 1.2 1.5)] feed concat feed [const rect value (0.15 0.35 1.25 1.7)] feed concat create_irgrid2d [rectangle2(0.0, 2.0, 0.0, 2.0),2,2]), 1) getTypeNL
|
|
|
|
#testcase -4.1.2-getcell_ir2d cellid not inside
|
|
#yields (rect undefined)
|
|
query getcell_ir2d(([const rect value (0.1 0.4 0.1 0.4)] feed [const rect value (0.15 0.45 0.15 0.45)] feed concat feed [const rect value (0.5 0.9 0.5 0.9)] feed concat feed [const rect value (1.15 1.6 0.3 0.35)] feed concat feed [const rect value (0.1 0.3 1.2 1.5)] feed concat feed [const rect value (0.15 0.35 1.25 1.7)] feed concat create_irgrid2d [rectangle2(0.0, 2.0, 0.0, 2.0),2,2]), 9)
|
|
|
|
|
|
#testcase -4.1.3-getcell_ir2d missing cellid
|
|
#yields error
|
|
query getcell_ir2d(([const rect value (0.1 0.4 0.1 0.4)] feed [const rect value (0.15 0.45 0.15 0.45)] feed concat feed [const rect value (0.5 0.9 0.5 0.9)] feed concat feed [const rect value (1.15 1.6 0.3 0.35)] feed concat feed [const rect value (0.1 0.3 1.2 1.5)] feed concat feed [const rect value (0.15 0.35 1.25 1.7)] feed concat create_irgrid2d [rectangle2(0.0, 2.0, 0.0, 2.0),2,2]))
|
|
|
|
|
|
########################################
|
|
# OPERATOR - scc_ir2d
|
|
########################################
|
|
#testcase -4.2.1-scc_ir2d
|
|
#yields (bool TRUE)
|
|
query scc_ir2d(([const rect value (0.1 0.4 0.1 0.4)] feed [const rect value (0.15 0.45 0.15 0.45)] feed concat feed [const rect value (0.5 0.9 0.5 0.9)] feed concat feed [const rect value (1.15 1.6 0.3 0.35)] feed concat feed [const rect value (0.1 0.3 1.2 1.5)] feed concat feed [const rect value (0.15 0.35 1.25 1.7)] feed concat create_irgrid2d [rectangle2(0.0, 2.0, 0.0, 2.0),2,2]), rectangle2(0.1, 0.15, 0.3, 1.6), rectangle2(0.0, 1.0, 0.0, 0.5), 1)
|
|
|
|
#testcase -4.2.2-scc_ir2d no intersection
|
|
#yields (bool FALSE)
|
|
query scc_ir2d(([const rect value (0.1 0.4 0.1 0.4)] feed [const rect value (0.15 0.45 0.15 0.45)] feed concat feed [const rect value (0.5 0.9 0.5 0.9)] feed concat feed [const rect value (1.15 1.6 0.3 0.35)] feed concat feed [const rect value (0.1 0.3 1.2 1.5)] feed concat feed [const rect value (0.15 0.35 1.25 1.7)] feed concat create_irgrid2d [rectangle2(0.0, 2.0, 0.0, 2.0),2,2]), rectangle2(0.1, 0.15, 0.3, 1.6), rectangle2(1.5, 1.7, 1.7, 1.85), 1)
|
|
|
|
#testcase -4.2.3-scc_ir2d same rectangles
|
|
#yields (bool TRUE)
|
|
query scc_ir2d(([const rect value (0.1 0.4 0.1 0.4)] feed [const rect value (0.15 0.45 0.15 0.45)] feed concat feed [const rect value (0.5 0.9 0.5 0.9)] feed concat feed [const rect value (1.15 1.6 0.3 0.35)] feed concat feed [const rect value (0.1 0.3 1.2 1.5)] feed concat feed [const rect value (0.15 0.35 1.25 1.7)] feed concat create_irgrid2d [rectangle2(0.0, 2.0, 0.0, 2.0),2,2]), rectangle2(0.1, 0.15, 0.3, 1.6), rectangle2(0.1, 0.15, 0.3, 1.6), 1)
|
|
|
|
|
|
#teardown
|
|
close database;
|
|
delete database SPart2Test; |