Files
secondo/Algebras/MovingRegion/Tests/relation.tests
2026-01-23 17:03:45 +08:00

112 lines
19 KiB
Plaintext

# Unit tests for moving regions as relation attributes
###############################################################################
create database mratest;
open database mratest;
###############################################################################
(let rel1 =
((rel (tuple ((id int) (name string) (mp mpoint) (mr movingregion))))
((1 "aaa"
(((0.0 10.0 TRUE FALSE)
(75.0 -25.0 75.0 175.0)))
(((0.0 10.0 TRUE FALSE)
(((( 0.0 0.0 50.0 50.0)
( 0.0 100.0 50.0 150.0)
(100.0 100.0 150.0 150.0)
(100.0 0.0 150.0 50.0))
(( 25.0 25.0 75.0 75.0)
( 25.0 75.0 75.0 125.0)
( 75.0 75.0 125.0 125.0)
( 75.0 25.0 125.0 75.0)))))))
(2 "bbb"
(((0.0 10.0 TRUE FALSE)
(275.0 -25.0 275.0 175.0)))
(((0.0 10.0 TRUE FALSE)
((((200.0 0.0 250.0 50.0)
(200.0 100.0 250.0 150.0)
(300.0 100.0 350.0 150.0)
(300.0 0.0 350.0 50.0))
((225.0 25.0 275.0 75.0)
(225.0 75.0 275.0 125.0)
(275.0 75.0 325.0 125.0)
(275.0 25.0 325.0 75.0)))))))
(3 "ccc"
(((0.0 10.0 TRUE FALSE)
(475.0 -25.0 475.0 175.0)))
(((0.0 10.0 TRUE FALSE)
((((400.0 0.0 450.0 50.0)
(400.0 100.0 450.0 150.0)
(500.0 100.0 550.0 150.0)
(500.0 0.0 550.0 50.0))
((425.0 25.0 475.0 75.0)
(425.0 75.0 475.0 125.0)
(475.0 75.0 525.0 125.0)
(475.0 25.0 525.0 75.0))))))))));
let mr1 =
[ const movingregion value
(((0.0 10.0 TRUE FALSE)
((((-25.0 25.0 -25.0 50.0)
(575.0 25.0 575.0 50.0)
(575.0 50.0 575.0 75.0)
(-25.0 50.0 -25.0 75.0)))))) ];
let mp1 =
[ const mpoint value (((0.0 10.0 TRUE FALSE) (-25.0 75.0 575.0 75.0))) ];
###############################################################################
#testcase "1"
#tolerance_real 0.00000001
#yields ( (rel (tuple ( (id int) (name string) (mp mpoint) (mr movingregion)))) ( (1 "aaa" ( ( ("2000-01-03" "2000-01-13" TRUE FALSE) (75.0 -25.0 75.0 175.0))) ( ( ("2000-01-03" "2000-01-13" TRUE FALSE) ( ( ( (0.0 0.0 50.0 50.0) (0.0 100.0 50.0 150.0) (100.0 100.0 150.0 150.0) (100.0 0.0 150.0 50.0)) ( (25.0 25.0 75.0 75.0) (25.0 75.0 75.0 125.0) (75.0 75.0 125.0 125.0) (75.0 25.0 125.0 75.0))))))) (2 "bbb" ( ( ("2000-01-03" "2000-01-13" TRUE FALSE) (275.0 -25.0 275.0 175.0))) ( ( ("2000-01-03" "2000-01-13" TRUE FALSE) ( ( ( (200.0 0.0 250.0 50.0) (200.0 100.0 250.0 150.0) (300.0 100.0 350.0 150.0) (300.0 0.0 350.0 50.0)) ( (225.0 25.0 275.0 75.0) (225.0 75.0 275.0 125.0) (275.0 75.0 325.0 125.0) (275.0 25.0 325.0 75.0))))))) (3 "ccc" ( ( ("2000-01-03" "2000-01-13" TRUE FALSE) (475.0 -25.0 475.0 175.0))) ( ( ("2000-01-03" "2000-01-13" TRUE FALSE) ( ( ( (400.0 0.0 450.0 50.0) (400.0 100.0 450.0 150.0) (500.0 100.0 550.0 150.0) (500.0 0.0 550.0 50.0)) ( (425.0 25.0 475.0 75.0) (425.0 75.0 475.0 125.0) (475.0 75.0 525.0 125.0) (475.0 25.0 525.0 75.0)))))))))
query rel1;
#testcase "2"
#tolerance_real 0.00000001
#yields ( (rel (tuple ( (id int) (name string) (mp mpoint) (mr movingregion) (new movingregion)))) ( (1 "aaa" ( ( ("2000-01-03" "2000-01-13" TRUE FALSE) (75.0 -25.0 75.0 175.0))) ( ( ("2000-01-03" "2000-01-13" TRUE FALSE) ( ( ( (0.0 0.0 50.0 50.0) (0.0 100.0 50.0 150.0) (100.0 100.0 150.0 150.0) (100.0 0.0 150.0 50.0)) ( (25.0 25.0 75.0 75.0) (25.0 75.0 75.0 125.0) (75.0 75.0 125.0 125.0) (75.0 25.0 125.0 75.0)))))) ( ( ("2000-01-03" "2000-01-13" TRUE FALSE) ( ( ( (-25.0 25.0 -25.0 50.0) (575.0 25.0 575.0 50.0) (575.0 50.0 575.0 75.0) (-25.0 50.0 -25.0 75.0))))))) (2 "bbb" ( ( ("2000-01-03" "2000-01-13" TRUE FALSE) (275.0 -25.0 275.0 175.0))) ( ( ("2000-01-03" "2000-01-13" TRUE FALSE) ( ( ( (200.0 0.0 250.0 50.0) (200.0 100.0 250.0 150.0) (300.0 100.0 350.0 150.0) (300.0 0.0 350.0 50.0)) ( (225.0 25.0 275.0 75.0) (225.0 75.0 275.0 125.0) (275.0 75.0 325.0 125.0) (275.0 25.0 325.0 75.0)))))) ( ( ("2000-01-03" "2000-01-13" TRUE FALSE) ( ( ( (-25.0 25.0 -25.0 50.0) (575.0 25.0 575.0 50.0) (575.0 50.0 575.0 75.0) (-25.0 50.0 -25.0 75.0))))))) (3 "ccc" ( ( ("2000-01-03" "2000-01-13" TRUE FALSE) (475.0 -25.0 475.0 175.0))) ( ( ("2000-01-03" "2000-01-13" TRUE FALSE) ( ( ( (400.0 0.0 450.0 50.0) (400.0 100.0 450.0 150.0) (500.0 100.0 550.0 150.0) (500.0 0.0 550.0 50.0)) ( (425.0 25.0 475.0 75.0) (425.0 75.0 475.0 125.0) (475.0 75.0 525.0 125.0) (475.0 25.0 525.0 75.0)))))) ( ( ("2000-01-03" "2000-01-13" TRUE FALSE) ( ( ( (-25.0 25.0 -25.0 50.0) (575.0 25.0 575.0 50.0) (575.0 50.0 575.0 75.0) (-25.0 50.0 -25.0 75.0)))))))))
query rel1 feed extend[new: mr1] consume;
#testcase "3"
#tolerance_real 0.00000001
#yields ( (rel (tuple ( (id int) (name string) (mp mpoint) (mr movingregion) (new mpoint)))) ( (1 "aaa" ( ( ("2000-01-03" "2000-01-13" TRUE FALSE) (75.0 -25.0 75.0 175.0))) ( ( ("2000-01-03" "2000-01-13" TRUE FALSE) ( ( ( (0.0 0.0 50.0 50.0) (0.0 100.0 50.0 150.0) (100.0 100.0 150.0 150.0) (100.0 0.0 150.0 50.0)) ( (25.0 25.0 75.0 75.0) (25.0 75.0 75.0 125.0) (75.0 75.0 125.0 125.0) (75.0 25.0 125.0 75.0)))))) ( ( ("2000-01-04-16:00" "2000-01-06-08:00" TRUE TRUE) (75.0 8.333333333333332 75.0 41.66666666666666)) ( ("2000-01-09-16:00" "2000-01-11-08:00" TRUE TRUE) (75.0 108.3333333333333 75.0 141.6666666666667)))) (2 "bbb" ( ( ("2000-01-03" "2000-01-13" TRUE FALSE) (275.0 -25.0 275.0 175.0))) ( ( ("2000-01-03" "2000-01-13" TRUE FALSE) ( ( ( (200.0 0.0 250.0 50.0) (200.0 100.0 250.0 150.0) (300.0 100.0 350.0 150.0) (300.0 0.0 350.0 50.0)) ( (225.0 25.0 275.0 75.0) (225.0 75.0 275.0 125.0) (275.0 75.0 325.0 125.0) (275.0 25.0 325.0 75.0)))))) ( ( ("2000-01-04-16:00" "2000-01-06-08:00" TRUE TRUE) (275.0 8.333333333333332 275.0 41.66666666666666)) ( ("2000-01-09-16:00" "2000-01-11-08:00" TRUE TRUE) (275.0 108.3333333333333 275.0 141.6666666666667)))) (3 "ccc" ( ( ("2000-01-03" "2000-01-13" TRUE FALSE) (475.0 -25.0 475.0 175.0))) ( ( ("2000-01-03" "2000-01-13" TRUE FALSE) ( ( ( (400.0 0.0 450.0 50.0) (400.0 100.0 450.0 150.0) (500.0 100.0 550.0 150.0) (500.0 0.0 550.0 50.0)) ( (425.0 25.0 475.0 75.0) (425.0 75.0 475.0 125.0) (475.0 75.0 525.0 125.0) (475.0 25.0 525.0 75.0)))))) ( ( ("2000-01-04-16:00" "2000-01-06-08:00" TRUE TRUE) (475.0 8.333333333333332 475.0 41.66666666666666)) ( ("2000-01-09-16:00" "2000-01-11-08:00" TRUE TRUE) (475.0 108.3333333333333 475.0 141.6666666666667))))))
query rel1 feed extend[new: intersection(.mp, .mr)] consume;
#testcase "4"
#tolerance_real 0.00000001
#yields ( (rel (tuple ( (id int) (name string) (mp mpoint) (mr movingregion) (new mpoint)))) ( (1 "aaa" ( ( ("2000-01-03" "2000-01-13" TRUE FALSE) (75.0 -25.0 75.0 175.0))) ( ( ("2000-01-03" "2000-01-13" TRUE FALSE) ( ( ( (0.0 0.0 50.0 50.0) (0.0 100.0 50.0 150.0) (100.0 100.0 150.0 150.0) (100.0 0.0 150.0 50.0)) ( (25.0 25.0 75.0 75.0) (25.0 75.0 75.0 125.0) (75.0 75.0 125.0 125.0) (75.0 25.0 125.0 75.0)))))) ( ( ("2000-01-05-20:34:17.143" "2000-01-07-06:51:25.714" TRUE TRUE) (75.0 32.14285714285714 75.0 60.71428571428571)))) (2 "bbb" ( ( ("2000-01-03" "2000-01-13" TRUE FALSE) (275.0 -25.0 275.0 175.0))) ( ( ("2000-01-03" "2000-01-13" TRUE FALSE) ( ( ( (200.0 0.0 250.0 50.0) (200.0 100.0 250.0 150.0) (300.0 100.0 350.0 150.0) (300.0 0.0 350.0 50.0)) ( (225.0 25.0 275.0 75.0) (225.0 75.0 275.0 125.0) (275.0 75.0 325.0 125.0) (275.0 25.0 325.0 75.0)))))) ( ( ("2000-01-05-20:34:17.143" "2000-01-07-06:51:25.714" TRUE TRUE) (275.0 32.14285714285714 275.0 60.71428571428571)))) (3 "ccc" ( ( ("2000-01-03" "2000-01-13" TRUE FALSE) (475.0 -25.0 475.0 175.0))) ( ( ("2000-01-03" "2000-01-13" TRUE FALSE) ( ( ( (400.0 0.0 450.0 50.0) (400.0 100.0 450.0 150.0) (500.0 100.0 550.0 150.0) (500.0 0.0 550.0 50.0)) ( (425.0 25.0 475.0 75.0) (425.0 75.0 475.0 125.0) (475.0 75.0 525.0 125.0) (475.0 25.0 525.0 75.0)))))) ( ( ("2000-01-05-20:34:17.143" "2000-01-07-06:51:25.714" TRUE TRUE) (475.0 32.14285714285714 475.0 60.71428571428571))))))
query rel1 feed extend[new: intersection(.mp, mr1)] consume;
#testcase "5"
#tolerance_real 0.00000001
#yields ( (rel (tuple ( (id int) (name string) (mp mpoint) (mr movingregion) (new mpoint)))) ( (1 "aaa" ( ( ("2000-01-03" "2000-01-13" TRUE FALSE) (75.0 -25.0 75.0 175.0))) ( ( ("2000-01-03" "2000-01-13" TRUE FALSE) ( ( ( (0.0 0.0 50.0 50.0) (0.0 100.0 50.0 150.0) (100.0 100.0 150.0 150.0) (100.0 0.0 150.0 50.0)) ( (25.0 25.0 75.0 75.0) (25.0 75.0 75.0 125.0) (75.0 75.0 125.0 125.0) (75.0 25.0 125.0 75.0)))))) ( ( ("2000-01-03-10:54:32.727" "2000-01-03-21:49:05.455" TRUE TRUE) (2.272727272727273 75.0 29.54545454545455 75.0)) ( ("2000-01-04-19:38:10.909" "2000-01-05-06:32:43.636" TRUE TRUE) (84.09090909090909 75.0 111.3636363636364 75.0)))) (2 "bbb" ( ( ("2000-01-03" "2000-01-13" TRUE FALSE) (275.0 -25.0 275.0 175.0))) ( ( ("2000-01-03" "2000-01-13" TRUE FALSE) ( ( ( (200.0 0.0 250.0 50.0) (200.0 100.0 250.0 150.0) (300.0 100.0 350.0 150.0) (300.0 0.0 350.0 50.0)) ( (225.0 25.0 275.0 75.0) (225.0 75.0 275.0 125.0) (275.0 75.0 325.0 125.0) (275.0 25.0 325.0 75.0)))))) ( ( ("2000-01-07-02:10:54.545" "2000-01-07-13:05:27.273" TRUE TRUE) (220.4545454545455 75.0 247.7272727272727 75.0)) ( ("2000-01-08-10:54:32.727" "2000-01-08-21:49:05.455" TRUE TRUE) (302.2727272727273 75.0 329.5454545454546 75.0)))) (3 "ccc" ( ( ("2000-01-03" "2000-01-13" TRUE FALSE) (475.0 -25.0 475.0 175.0))) ( ( ("2000-01-03" "2000-01-13" TRUE FALSE) ( ( ( (400.0 0.0 450.0 50.0) (400.0 100.0 450.0 150.0) (500.0 100.0 550.0 150.0) (500.0 0.0 550.0 50.0)) ( (425.0 25.0 475.0 75.0) (425.0 75.0 475.0 125.0) (475.0 75.0 525.0 125.0) (475.0 25.0 525.0 75.0)))))) ( ( ("2000-01-10-17:27:16.364" "2000-01-11-04:21:49.091" TRUE TRUE) (438.6363636363636 75.0 465.9090909090909 75.0)) ( ("2000-01-12-02:10:54.545" "2000-01-12-13:05:27.273" TRUE TRUE) (520.4545454545454 75.0 547.7272727272727 75.0))))))
query rel1 feed extend[new: intersection(mp1, .mr)] consume;
#testcase "6"
#yields ( (rel (tuple ( (id int) (name string) (mp mpoint) (mr movingregion) (new mbool)))) ( (1 "aaa" ( ( ("2000-01-03" "2000-01-13" TRUE FALSE) (75.0 -25.0 75.0 175.0))) ( ( ("2000-01-03" "2000-01-13" TRUE FALSE) ( ( ( (0.0 0.0 50.0 50.0) (0.0 100.0 50.0 150.0) (100.0 100.0 150.0 150.0) (100.0 0.0 150.0 50.0)) ( (25.0 25.0 75.0 75.0) (25.0 75.0 75.0 125.0) (75.0 75.0 125.0 125.0) (75.0 25.0 125.0 75.0)))))) ( ( ("2000-01-03" "2000-01-04-16:00" TRUE FALSE) FALSE) ( ("2000-01-04-16:00" "2000-01-06-08:00" TRUE TRUE) TRUE) ( ("2000-01-06-08:00" "2000-01-09-16:00" FALSE FALSE) FALSE) ( ("2000-01-09-16:00" "2000-01-11-08:00" TRUE TRUE) TRUE) ( ("2000-01-11-08:00" "2000-01-13" FALSE FALSE) FALSE))) (2 "bbb" ( ( ("2000-01-03" "2000-01-13" TRUE FALSE) (275.0 -25.0 275.0 175.0))) ( ( ("2000-01-03" "2000-01-13" TRUE FALSE) ( ( ( (200.0 0.0 250.0 50.0) (200.0 100.0 250.0 150.0) (300.0 100.0 350.0 150.0) (300.0 0.0 350.0 50.0)) ( (225.0 25.0 275.0 75.0) (225.0 75.0 275.0 125.0) (275.0 75.0 325.0 125.0) (275.0 25.0 325.0 75.0)))))) ( ( ("2000-01-03" "2000-01-04-16:00" TRUE FALSE) FALSE) ( ("2000-01-04-16:00" "2000-01-06-08:00" TRUE TRUE) TRUE) ( ("2000-01-06-08:00" "2000-01-09-16:00" FALSE FALSE) FALSE) ( ("2000-01-09-16:00" "2000-01-11-08:00" TRUE TRUE) TRUE) ( ("2000-01-11-08:00" "2000-01-13" FALSE FALSE) FALSE))) (3 "ccc" ( ( ("2000-01-03" "2000-01-13" TRUE FALSE) (475.0 -25.0 475.0 175.0))) ( ( ("2000-01-03" "2000-01-13" TRUE FALSE) ( ( ( (400.0 0.0 450.0 50.0) (400.0 100.0 450.0 150.0) (500.0 100.0 550.0 150.0) (500.0 0.0 550.0 50.0)) ( (425.0 25.0 475.0 75.0) (425.0 75.0 475.0 125.0) (475.0 75.0 525.0 125.0) (475.0 25.0 525.0 75.0)))))) ( ( ("2000-01-03" "2000-01-04-16:00" TRUE FALSE) FALSE) ( ("2000-01-04-16:00" "2000-01-06-08:00" TRUE TRUE) TRUE) ( ("2000-01-06-08:00" "2000-01-09-16:00" FALSE FALSE) FALSE) ( ("2000-01-09-16:00" "2000-01-11-08:00" TRUE TRUE) TRUE) ( ("2000-01-11-08:00" "2000-01-13" FALSE FALSE) FALSE)))))
query rel1 feed extend[new: .mp inside .mr] consume;
#testcase "7"
#yields ( (rel (tuple ( (id int) (name string) (mp mpoint) (mr movingregion) (new mbool)))) ( (1 "aaa" ( ( ("2000-01-03" "2000-01-13" TRUE FALSE) (75.0 -25.0 75.0 175.0))) ( ( ("2000-01-03" "2000-01-13" TRUE FALSE) ( ( ( (0.0 0.0 50.0 50.0) (0.0 100.0 50.0 150.0) (100.0 100.0 150.0 150.0) (100.0 0.0 150.0 50.0)) ( (25.0 25.0 75.0 75.0) (25.0 75.0 75.0 125.0) (75.0 75.0 125.0 125.0) (75.0 25.0 125.0 75.0)))))) ( ( ("2000-01-03" "2000-01-05-20:34:17.143" TRUE FALSE) FALSE) ( ("2000-01-05-20:34:17.143" "2000-01-07-06:51:25.714" TRUE TRUE) TRUE) ( ("2000-01-07-06:51:25.714" "2000-01-13" FALSE FALSE) FALSE))) (2 "bbb" ( ( ("2000-01-03" "2000-01-13" TRUE FALSE) (275.0 -25.0 275.0 175.0))) ( ( ("2000-01-03" "2000-01-13" TRUE FALSE) ( ( ( (200.0 0.0 250.0 50.0) (200.0 100.0 250.0 150.0) (300.0 100.0 350.0 150.0) (300.0 0.0 350.0 50.0)) ( (225.0 25.0 275.0 75.0) (225.0 75.0 275.0 125.0) (275.0 75.0 325.0 125.0) (275.0 25.0 325.0 75.0)))))) ( ( ("2000-01-03" "2000-01-05-20:34:17.143" TRUE FALSE) FALSE) ( ("2000-01-05-20:34:17.143" "2000-01-07-06:51:25.714" TRUE TRUE) TRUE) ( ("2000-01-07-06:51:25.714" "2000-01-13" FALSE FALSE) FALSE))) (3 "ccc" ( ( ("2000-01-03" "2000-01-13" TRUE FALSE) (475.0 -25.0 475.0 175.0))) ( ( ("2000-01-03" "2000-01-13" TRUE FALSE) ( ( ( (400.0 0.0 450.0 50.0) (400.0 100.0 450.0 150.0) (500.0 100.0 550.0 150.0) (500.0 0.0 550.0 50.0)) ( (425.0 25.0 475.0 75.0) (425.0 75.0 475.0 125.0) (475.0 75.0 525.0 125.0) (475.0 25.0 525.0 75.0)))))) ( ( ("2000-01-03" "2000-01-05-20:34:17.143" TRUE FALSE) FALSE) ( ("2000-01-05-20:34:17.143" "2000-01-07-06:51:25.714" TRUE TRUE) TRUE) ( ("2000-01-07-06:51:25.714" "2000-01-13" FALSE FALSE) FALSE)))))
query rel1 feed extend[new: .mp inside mr1] consume;
#testcase "8"
#yields ( (rel (tuple ( (id int) (name string) (mp mpoint) (mr movingregion) (new mbool)))) ( (1 "aaa" ( ( ("2000-01-03" "2000-01-13" TRUE FALSE) (75.0 -25.0 75.0 175.0))) ( ( ("2000-01-03" "2000-01-13" TRUE FALSE) ( ( ( (0.0 0.0 50.0 50.0) (0.0 100.0 50.0 150.0) (100.0 100.0 150.0 150.0) (100.0 0.0 150.0 50.0)) ( (25.0 25.0 75.0 75.0) (25.0 75.0 75.0 125.0) (75.0 75.0 125.0 125.0) (75.0 25.0 125.0 75.0)))))) ( ( ("2000-01-03" "2000-01-03-10:54:32.727" TRUE FALSE) FALSE) ( ("2000-01-03-10:54:32.727" "2000-01-03-21:49:05.455" TRUE TRUE) TRUE) ( ("2000-01-03-21:49:05.455" "2000-01-04-19:38:10.909" FALSE FALSE) FALSE) ( ("2000-01-04-19:38:10.909" "2000-01-05-06:32:43.636" TRUE TRUE) TRUE) ( ("2000-01-05-06:32:43.636" "2000-01-13" FALSE FALSE) FALSE))) (2 "bbb" ( ( ("2000-01-03" "2000-01-13" TRUE FALSE) (275.0 -25.0 275.0 175.0))) ( ( ("2000-01-03" "2000-01-13" TRUE FALSE) ( ( ( (200.0 0.0 250.0 50.0) (200.0 100.0 250.0 150.0) (300.0 100.0 350.0 150.0) (300.0 0.0 350.0 50.0)) ( (225.0 25.0 275.0 75.0) (225.0 75.0 275.0 125.0) (275.0 75.0 325.0 125.0) (275.0 25.0 325.0 75.0)))))) ( ( ("2000-01-03" "2000-01-07-02:10:54.545" TRUE FALSE) FALSE) ( ("2000-01-07-02:10:54.545" "2000-01-07-13:05:27.273" TRUE TRUE) TRUE) ( ("2000-01-07-13:05:27.273" "2000-01-08-10:54:32.727" FALSE FALSE) FALSE) ( ("2000-01-08-10:54:32.727" "2000-01-08-21:49:05.455" TRUE TRUE) TRUE) ( ("2000-01-08-21:49:05.455" "2000-01-13" FALSE FALSE) FALSE))) (3 "ccc" ( ( ("2000-01-03" "2000-01-13" TRUE FALSE) (475.0 -25.0 475.0 175.0))) ( ( ("2000-01-03" "2000-01-13" TRUE FALSE) ( ( ( (400.0 0.0 450.0 50.0) (400.0 100.0 450.0 150.0) (500.0 100.0 550.0 150.0) (500.0 0.0 550.0 50.0)) ( (425.0 25.0 475.0 75.0) (425.0 75.0 475.0 125.0) (475.0 75.0 525.0 125.0) (475.0 25.0 525.0 75.0)))))) ( ( ("2000-01-03" "2000-01-10-17:27:16.364" TRUE FALSE) FALSE) ( ("2000-01-10-17:27:16.364" "2000-01-11-04:21:49.091" TRUE TRUE) TRUE) ( ("2000-01-11-04:21:49.091" "2000-01-12-02:10:54.545" FALSE FALSE) FALSE) ( ("2000-01-12-02:10:54.545" "2000-01-12-13:05:27.273" TRUE TRUE) TRUE) ( ("2000-01-12-13:05:27.273" "2000-01-13" FALSE FALSE) FALSE)))))
query rel1 feed extend[new: mp1 inside .mr] consume;
#testcase "9"
#yields ( (rel (tuple ( (id int) (name string) (mp mpoint) (mr movingregion) (new intimeregion)))) ( (1 "aaa" ( ( ("2000-01-03" "2000-01-13" TRUE FALSE) (75.0 -25.0 75.0 175.0))) ( ( ("2000-01-03" "2000-01-13" TRUE FALSE) ( ( ( (0.0 0.0 50.0 50.0) (0.0 100.0 50.0 150.0) (100.0 100.0 150.0 150.0) (100.0 0.0 150.0 50.0)) ( (25.0 25.0 75.0 75.0) (25.0 75.0 75.0 125.0) (75.0 75.0 125.0 125.0) (75.0 25.0 125.0 75.0)))))) ("2000-01-08" ( ( ( (125.0 25.0) (25.0 25.0) (25.0 125.0) (125.0 125.0)) ( (100.0 50.0) (50.0 50.0) (50.0 100.0) (100.0 100.0)))))) (2 "bbb" ( ( ("2000-01-03" "2000-01-13" TRUE FALSE) (275.0 -25.0 275.0 175.0))) ( ( ("2000-01-03" "2000-01-13" TRUE FALSE) ( ( ( (200.0 0.0 250.0 50.0) (200.0 100.0 250.0 150.0) (300.0 100.0 350.0 150.0) (300.0 0.0 350.0 50.0)) ( (225.0 25.0 275.0 75.0) (225.0 75.0 275.0 125.0) (275.0 75.0 325.0 125.0) (275.0 25.0 325.0 75.0)))))) ("2000-01-08" ( ( ( (325.0 25.0) (225.0 25.0) (225.0 125.0) (325.0 125.0)) ( (300.0 50.0) (250.0 50.0) (250.0 100.0) (300.0 100.0)))))) (3 "ccc" ( ( ("2000-01-03" "2000-01-13" TRUE FALSE) (475.0 -25.0 475.0 175.0))) ( ( ("2000-01-03" "2000-01-13" TRUE FALSE) ( ( ( (400.0 0.0 450.0 50.0) (400.0 100.0 450.0 150.0) (500.0 100.0 550.0 150.0) (500.0 0.0 550.0 50.0)) ( (425.0 25.0 475.0 75.0) (425.0 75.0 475.0 125.0) (475.0 75.0 525.0 125.0) (475.0 25.0 525.0 75.0)))))) ("2000-01-08" ( ( ( (525.0 25.0) (425.0 25.0) (425.0 125.0) (525.0 125.0)) ( (500.0 50.0) (450.0 50.0) (450.0 100.0) (500.0 100.0))))))))
query rel1 feed extend[new: .mr atinstant [const instant value 5.0]] consume;
#testcase "10"
#yields ( (rel (tuple ( (id int) (name string) (mp mpoint) (mr movingregion) (new intimeregion)))) ( (1 "aaa" ( ( ("2000-01-03" "2000-01-13" TRUE FALSE) (75.0 -25.0 75.0 175.0))) ( ( ("2000-01-03" "2000-01-13" TRUE FALSE) ( ( ( (0.0 0.0 50.0 50.0) (0.0 100.0 50.0 150.0) (100.0 100.0 150.0 150.0) (100.0 0.0 150.0 50.0)) ( (25.0 25.0 75.0 75.0) (25.0 75.0 75.0 125.0) (75.0 75.0 125.0 125.0) (75.0 25.0 125.0 75.0)))))) ("2000-01-08" ( ( ( (575.0 37.5) (-25.0 37.5) (-25.0 62.5) (575.0 62.5)))))) (2 "bbb" ( ( ("2000-01-03" "2000-01-13" TRUE FALSE) (275.0 -25.0 275.0 175.0))) ( ( ("2000-01-03" "2000-01-13" TRUE FALSE) ( ( ( (200.0 0.0 250.0 50.0) (200.0 100.0 250.0 150.0) (300.0 100.0 350.0 150.0) (300.0 0.0 350.0 50.0)) ( (225.0 25.0 275.0 75.0) (225.0 75.0 275.0 125.0) (275.0 75.0 325.0 125.0) (275.0 25.0 325.0 75.0)))))) ("2000-01-08" ( ( ( (575.0 37.5) (-25.0 37.5) (-25.0 62.5) (575.0 62.5)))))) (3 "ccc" ( ( ("2000-01-03" "2000-01-13" TRUE FALSE) (475.0 -25.0 475.0 175.0))) ( ( ("2000-01-03" "2000-01-13" TRUE FALSE) ( ( ( (400.0 0.0 450.0 50.0) (400.0 100.0 450.0 150.0) (500.0 100.0 550.0 150.0) (500.0 0.0 550.0 50.0)) ( (425.0 25.0 475.0 75.0) (425.0 75.0 475.0 125.0) (475.0 75.0 525.0 125.0) (475.0 25.0 525.0 75.0)))))) ("2000-01-08" ( ( ( (575.0 37.5) (-25.0 37.5) (-25.0 62.5) (575.0 62.5))))))))
query rel1 feed extend[new: mr1 atinstant [const instant value 5.0]] consume;
###############################################################################
#teardown
close database;
delete database mratest;