# Unit tests for operators atinstant, initial and final. ############################################################################### create database mratest; open database mratest; ############################################################################### let mr1 = [ const movingregion value (((0.0 10.0 TRUE TRUE) ((((1.0 3.5 1.5 1.5) (2.0 5.5 3.0 4.5) (3.0 6.5 3.5 5.0) (4.0 6.5 5.5 5.0) (4.0 5.5 5.5 4.5) (5.0 4.5 7.5 2.5) (5.0 2.5 7.5 1.0) (4.0 1.5 7.0 0.5) (3.0 1.5 2.5 0.5)) ((2.0 3.0 3.0 2.0) (2.0 4.0 3.0 3.0) (3.0 4.0 4.0 3.0) (3.0 3.0 4.0 2.0)))))) ]; let mr2 = [ const movingregion value (((0.0 10.0 FALSE FALSE) ((((0.0 0.0 1.0 1.0) (2.0 0.0 3.0 1.0) (1.0 2.0 2.0 3.0)))))) ]; let mr3 = [ const movingregion value (((0.0 10.0 TRUE TRUE) ((((1.0 1.0 4.0 6.0) (1.5 3.0 4.0 6.0) (4.5 1.5 6.0 5.0) (3.5 0.5 5.0 4.0) (1.0 1.0 5.0 4.0)) ((6.0 2.0 5.0 4.0) (6.0 2.0 6.0 5.0) (7.0 1.0 6.0 5.0) (7.0 1.0 5.0 4.0)))))) ]; let mr4 = [ const movingregion value (((0.0 10.0 TRUE TRUE) ((((1.0 1.0 3.0 2.0) (4.0 4.0 6.0 5.0) (4.0 4.0 7.0 3.0) (1.0 1.0 6.0 2.0)))))) ]; let mr5 = [ const movingregion value (((0.0 10.0 TRUE TRUE) ((((2.0 1.0 1.0 4.0) (2.0 3.0 1.0 7.0) (2.0 3.0 3.0 6.0) (6.0 3.0 5.0 6.0) (6.0 3.0 7.0 6.0) (6.0 1.0 7.0 4.0) (6.0 1.0 5.0 6.0) (2.0 1.0 3.0 6.0)))))) ]; let mr6 = [ const movingregion value (((0.0 10.0 TRUE TRUE) ((((3.0 2.0 1.0 1.0) (6.0 5.0 4.0 4.0) (7.0 3.0 4.0 4.0) (6.0 2.0 1.0 1.0)))))) ]; ############################################################################### #testcase "1 - atinstant normal @ initial" #yields (intimeregion ("2000-01-03" ((((3.0 1.5) (1.0 3.5) (2.0 5.5) (3.0 6.5) (4.0 6.5) (4.0 5.5) (5.0 4.5) (5.0 2.5) (4.0 1.5))) (((3.0 3.0) (2.0 3.0) (2.0 4.0) (3.0 4.0)))))) query mr1 atinstant [const instant value 0.0]; #testcase "2 - atinstant normal @ middle" #yields (intimeregion ("2000-01-08" ((((2.75 1.0) (1.25 2.5) (2.5 5.0) (3.25 5.75) (4.75 5.75) (4.75 5.0) (6.25 3.5) (6.25 1.75) (5.5 1.0))) (((3.5 2.5) (2.5 2.5) (2.5 3.5) (3.5 3.5)))))) query mr1 atinstant [const instant value 5.0]; #testcase "3 - atinstant normal @ final" #yields (intimeregion ("2000-01-13" ((((2.5 0.5) (1.5 1.5) (3.0 4.5) (3.5 5.0) (5.5 5.0) (5.5 4.5) (7.5 2.5) (7.5 1.0) (7.0 0.5)) ((4.0 2.0) (3.0 2.0) (3.0 3.0) (4.0 3.0)))))) query mr1 atinstant [const instant value 10.0]; #testcase "4 - atinstant open @ initial" #yields (intimeregion undef) query mr2 atinstant [const instant value 0.0]; #testcase "5 - atinstant normal @ middle" #yields (intimeregion ("2000-01-08" ((((2.5 0.5) (0.5 0.5) (1.5 2.5)))))) query mr2 atinstant [const instant value 5.0]; #testcase "6 - atinstant open @ final" #yields (intimeregion undef) query mr2 atinstant [const instant value 10.0]; #testcase "7 - atinstant degenerated @ initial" #yields (intimeregion ("2000-01-03" ((((3.5 0.5) (1.0 1.0) (1.5 3.0) (4.5 1.5)))))) query mr3 atinstant [const instant value 0.0]; #testcase "8 - atinstant normal @ middle" #yields (intimeregion ("2000-01-08" ((((3.0 2.5) (2.5 3.5) (2.75 4.5) (5.25 3.25) (4.25 2.25))) (((6.0 2.5) (5.5 3.0) (6.0 3.5) (6.5 3.0)))))) query mr3 atinstant [const instant value 5.0]; #testcase "9 - atinstant degenerated @ final" #yields (intimeregion ("2000-01-13" ((((5.0 4.0) (4.0 6.0) (6.0 5.0)))))) query mr3 atinstant [const instant value 10.0]; #testcase "10 - atinstant degenerated @ initial" #yields (intimeregion undef) query mr4 atinstant [const instant value 0.0]; #testcase "11 - atinstant normal @ final" #yields (intimeregion ("2000-01-13" ((((6.0 2.0) (3.0 2.0) (6.0 5.0) (7.0 3.0)))))) query mr4 atinstant [const instant value 10.0]; #testcase "12 - atinstant degenerated @ initial" #yields (intimeregion ("2000-01-03" ((((6.0 1.0) (2.0 1.0) (2.0 3.0) (6.0 3.0)))))) query mr5 atinstant [const instant value 0.0]; #testcase "13 - atinstant normal @ middle" #yields (intimeregion ("2000-01-08" ((((2.5 3.5) (1.5 2.5) (1.5 5.0) (2.5 4.5)(5.5 4.5) (6.5 4.5) (6.5 2.5) (5.5 3.5)))))) query mr5 atinstant [const instant value 5.0]; #testcase "14 - atinstant degenerated @ final" #yields (intimeregion ("2000-01-13" ((((3.0 6.0) (1.0 4.0) (1.0 7.0))) (((7.0 4.0) (5.0 6.0) (7.0 6.0)))))) query mr5 atinstant [const instant value 10.0]; #testcase "15 - initial normal" #yields (intimeregion ("2000-01-03" ((((3.0 1.5) (1.0 3.5) (2.0 5.5) (3.0 6.5) (4.0 6.5) (4.0 5.5) (5.0 4.5) (5.0 2.5) (4.0 1.5))) (((3.0 3.0) (2.0 3.0) (2.0 4.0) (3.0 4.0)))))) query initial(mr1); #testcase "16 - final normal" #yields (intimeregion ("2000-01-13" ((((2.5 0.5) (1.5 1.5) (3.0 4.5) (3.5 5.0) (5.5 5.0) (5.5 4.5) (7.5 2.5) (7.5 1.0) (7.0 0.5)) ((4.0 2.0) (3.0 2.0) (3.0 3.0) (4.0 3.0)))))) query final(mr1) #testcase "17 - initial open" #yields (intimeregion undef) query initial(mr2) #testcase "18 - final open" #yields (intimeregion undef) query final(mr2) #testcase "19 - initial degenerated" #yields (intimeregion undef) query initial(mr4) #testcase "20 - final normal" #yields (intimeregion ("2000-01-13" ((((6.0 2.0) (3.0 2.0) (6.0 5.0) (7.0 3.0)))))) query final(mr4) #testcase "21 - initial degenerated" #yields (intimeregion ("2000-01-03" ((((6.0 2.0) (3.0 2.0) (6.0 5.0) (7.0 3.0)))))) query initial(mr6) #testcase "22 - final normal" #yields (intimeregion undef) query final(mr6) ############################################################################### #teardown close database; delete database mratest;