Files
secondo/Algebras/SPart2/SPart2.test
2026-01-23 17:03:45 +08:00

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;