164 lines
9.8 KiB
Plaintext
164 lines
9.8 KiB
Plaintext
#This file is part of SECONDO.
|
|
#
|
|
#Copyright (C) 2004, University in Hagen, Department of Computer Science,
|
|
#Database Systems for New Applications.
|
|
#
|
|
#SECONDO is free software; you can redistribute it and/or modify
|
|
#it under the terms of the GNU General Public License as published by
|
|
#the Free Software Foundation; either version 2 of the License, or
|
|
#(at your option) any later version.
|
|
#
|
|
#SECONDO is distributed in the hope that it will be useful,
|
|
#but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
#GNU General Public License for more details.
|
|
#
|
|
#You should have received a copy of the GNU General Public License
|
|
#along with SECONDO; if not, write to the Free Software
|
|
#Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
#
|
|
# a test for the range algebra
|
|
# run with : TestRunner -c MyConfig.config < rangetest
|
|
# (TestRunner can be found in directory UserInterfaces)
|
|
|
|
# clean up what may be left over from e.g. a segfault
|
|
delete database rangetest;
|
|
|
|
#setup
|
|
create database rangetest;
|
|
open database rangetest;
|
|
|
|
(create rangerel : (rel(tuple((No int)(R rint)))));
|
|
(update rangerel := ((rel(tuple((No int)(R rint))))
|
|
(
|
|
(1 ( ( 5 8 FALSE FALSE) ( 13 14 TRUE FALSE) ) )
|
|
(2 ( ( 3 5 FALSE FALSE) ( 6 14 FALSE TRUE) ) )
|
|
)
|
|
));
|
|
|
|
(create rint1 : rint);
|
|
(update rint1 := ( rint ( ( 5 8 FALSE FALSE) ( 13 14 TRUE FALSE) ) ) );
|
|
|
|
(create rint2 : rint);
|
|
(update rint2 := ( rint ( ( 3 5 FALSE FALSE) ( 6 14 FALSE TRUE) ) ) );
|
|
|
|
(create rreal1 : rreal);
|
|
(update rreal1 := ( rreal ( ( 5.0 8.1 FALSE FALSE) ( 13.0 14.1 TRUE FALSE) ) ) );
|
|
|
|
(create rreal2 : rreal);
|
|
(update rreal2 := ( rreal ( ( 3.0 5.3 FALSE FALSE) ( 6.8 14.2 FALSE TRUE) ) ) );
|
|
|
|
(create r1 : rint);
|
|
(update r1 := ( rint ( ( 5 8 FALSE FALSE) ( 13 14 TRUE FALSE) ( 16 21 TRUE FALSE) ( 23 28 FALSE FALSE) ( 32 39 TRUE FALSE) ( 41 42 TRUE FALSE) ( 44 47 TRUE TRUE) ( 52 54 FALSE FALSE) ( 58 60 FALSE FALSE) ( 63 72 TRUE FALSE) ( 75 82 TRUE FALSE) ( 84 87 FALSE FALSE) ( 88 97 FALSE TRUE) ( 99 104 FALSE TRUE) ( 106 106 TRUE TRUE) ( 109 109 TRUE TRUE) ( 111 120 FALSE FALSE) ( 122 127 TRUE FALSE) ( 130 136 FALSE TRUE) ( 139 148 FALSE FALSE) ( 150 157 FALSE TRUE) ( 161 162 TRUE FALSE) ( 167 170 TRUE FALSE) ( 172 178 FALSE FALSE) ( 182 190 TRUE FALSE) ( 192 200 FALSE FALSE) ) ) );
|
|
|
|
(create r2 : rint);
|
|
(update r2 := ( rint ( ( 3 5 FALSE FALSE) ( 6 14 FALSE TRUE) ( 18 20 FALSE TRUE) ( 23 25 TRUE TRUE) ( 28 32 TRUE FALSE) ( 34 34 TRUE TRUE) ( 39 48 FALSE TRUE) ( 52 55 TRUE TRUE) ( 58 60 TRUE FALSE) ( 62 68 TRUE FALSE) ( 70 78 TRUE FALSE) ( 79 81 FALSE FALSE) ( 85 94 FALSE FALSE) ( 95 96 FALSE TRUE) ( 98 99 TRUE FALSE) ( 102 109 TRUE TRUE) ( 114 116 FALSE TRUE) ( 121 121 TRUE TRUE) ( 126 126 TRUE TRUE) ( 128 136 FALSE TRUE) ( 138 140 FALSE FALSE) ( 142 147 FALSE TRUE) ( 151 151 TRUE TRUE) ( 154 161 TRUE FALSE) ( 164 172 FALSE FALSE) ( 173 180 FALSE FALSE) ( 185 193 FALSE FALSE) ( 198 207 FALSE TRUE) ) ) );
|
|
|
|
(create r3 : rint);
|
|
(update r3 := ( rint ( ( 1 9 FALSE TRUE) ( 13 15 FALSE TRUE) ( 19 22 TRUE TRUE) ( 24 29 TRUE FALSE) ( 32 41 TRUE FALSE) ( 45 46 TRUE FALSE) ( 51 55 TRUE FALSE) ( 58 58 TRUE TRUE) ( 60 65 FALSE TRUE) ( 69 73 TRUE TRUE) ( 77 78 FALSE TRUE) ( 81 87 FALSE FALSE) ( 89 90 FALSE TRUE) ( 92 99 TRUE FALSE) ( 103 109 TRUE FALSE) ( 110 112 FALSE FALSE) ( 114 114 TRUE TRUE) ( 117 123 TRUE FALSE) ( 125 128 TRUE FALSE) ( 130 137 TRUE TRUE) ( 140 149 FALSE FALSE) ( 153 154 FALSE TRUE) ( 158 167 FALSE FALSE) ( 169 176 FALSE TRUE) ( 181 190 FALSE TRUE) ( 193 194 TRUE FALSE) ( 197 201 FALSE TRUE) ) ) );
|
|
|
|
(create r4 : rint);
|
|
(update r4 := ( rint ( ( 2 3 TRUE FALSE) ( 7 11 FALSE FALSE) ( 13 14 TRUE TRUE) ( 16 18 TRUE FALSE) ( 23 29 FALSE FALSE) ( 32 35 TRUE FALSE) ( 39 41 TRUE TRUE) ( 43 48 TRUE TRUE) ( 50 50 TRUE TRUE) ( 53 62 FALSE TRUE) ( 66 73 TRUE TRUE) ( 78 84 FALSE TRUE) ( 87 91 FALSE TRUE) ( 93 96 FALSE FALSE) ( 101 104 FALSE TRUE) ( 107 107 TRUE TRUE) ( 111 118 TRUE TRUE) ( 123 130 TRUE TRUE) ( 135 142 TRUE TRUE) ( 147 147 TRUE TRUE) ( 149 151 TRUE FALSE) ( 156 157 TRUE TRUE) ( 160 167 FALSE TRUE) ( 169 173 FALSE FALSE) ( 176 179 TRUE FALSE) ( 182 183 FALSE TRUE) ( 186 188 FALSE TRUE) ( 190 198 TRUE TRUE) ( 200 208 TRUE TRUE) ) ) );
|
|
|
|
(create r5 : rint);
|
|
(update r5 := ( rint ( ( 5 8 FALSE FALSE) ( 9 11 FALSE FALSE) ( 16 19 TRUE TRUE) ( 23 24 FALSE TRUE) ( 26 30 TRUE TRUE) ( 32 35 FALSE TRUE) ( 38 38 TRUE TRUE) ( 40 43 TRUE FALSE) ( 45 51 FALSE FALSE) ( 55 63 FALSE TRUE) ( 67 67 TRUE TRUE) ( 70 78 FALSE FALSE) ( 81 85 TRUE FALSE) ( 90 96 TRUE TRUE) ( 98 103 TRUE FALSE) ( 107 112 TRUE TRUE) ( 114 116 FALSE FALSE) ( 117 120 FALSE FALSE) ( 124 127 FALSE TRUE) ( 129 133 FALSE FALSE) ( 138 139 TRUE FALSE) ( 144 149 FALSE FALSE) ( 151 160 FALSE FALSE) ( 163 168 FALSE FALSE) ( 173 178 FALSE FALSE) ( 183 186 FALSE FALSE) ( 190 197 FALSE FALSE) ( 199 205 TRUE TRUE) ) ) );
|
|
|
|
(create r6 : rint);
|
|
(update r6 := ( rint ( ( 4 12 FALSE FALSE) ( 15 21 FALSE FALSE) ( 24 25 FALSE TRUE) ( 29 34 FALSE FALSE) ( 35 39 FALSE TRUE) ( 44 47 FALSE TRUE) ( 49 52 TRUE TRUE) ( 54 60 FALSE FALSE) ( 63 67 TRUE FALSE) ( 69 69 TRUE TRUE) ( 73 78 TRUE TRUE) ( 82 91 FALSE TRUE) ( 94 102 FALSE FALSE) ( 107 114 TRUE FALSE) ( 116 120 FALSE TRUE) ( 125 134 TRUE TRUE) ( 138 145 FALSE TRUE) ( 149 158 TRUE TRUE) ( 161 166 FALSE TRUE) ( 169 172 FALSE FALSE) ( 174 180 FALSE TRUE) ( 182 183 FALSE TRUE) ( 186 186 TRUE TRUE) ( 189 194 TRUE TRUE) ( 196 196 TRUE TRUE) ( 201 207 FALSE FALSE) ) ) );
|
|
|
|
(create r7 : rint);
|
|
(update r7 := ( rint ( ( 5 6 TRUE TRUE) ( 10 16 FALSE TRUE) ( 18 26 TRUE FALSE) ( 30 34 TRUE FALSE) ( 35 43 FALSE FALSE) ( 48 49 TRUE TRUE) ( 51 57 TRUE TRUE) ( 59 68 TRUE TRUE) ( 70 73 FALSE FALSE) ( 75 80 TRUE TRUE) ( 83 87 TRUE TRUE) ( 92 97 TRUE TRUE) ( 100 108 FALSE TRUE) ( 113 113 TRUE TRUE) ( 116 118 FALSE FALSE) ( 120 128 FALSE TRUE) ( 130 136 FALSE FALSE) ( 140 149 TRUE FALSE) ( 151 159 TRUE FALSE) ( 161 161 TRUE TRUE) ( 163 167 TRUE FALSE) ( 172 172 TRUE TRUE) ( 177 181 TRUE FALSE) ( 183 187 TRUE FALSE) ( 192 197 FALSE FALSE) ( 199 201 FALSE FALSE) ) ) );
|
|
|
|
(create r8 : rint);
|
|
(update r8 := ( rint ( ( 1 10 TRUE TRUE) ( 13 17 TRUE FALSE) ( 21 25 TRUE FALSE) ( 27 29 FALSE TRUE) ( 33 33 TRUE TRUE) ( 38 46 FALSE TRUE) ( 50 55 FALSE TRUE) ( 57 57 TRUE TRUE) ( 60 68 FALSE FALSE) ( 73 82 FALSE TRUE) ( 84 84 TRUE TRUE) ( 86 86 TRUE TRUE) ( 89 91 FALSE FALSE) ( 94 98 TRUE TRUE) ( 101 110 TRUE TRUE) ( 112 119 FALSE TRUE) ( 124 132 TRUE TRUE) ( 136 143 TRUE FALSE) ( 147 154 FALSE TRUE) ( 158 167 TRUE TRUE) ( 169 177 TRUE FALSE) ( 179 180 TRUE FALSE) ( 185 193 TRUE FALSE) ( 196 200 FALSE TRUE) ) ) );
|
|
|
|
(create r9 : rint);
|
|
(update r9 := ( rint ( ( 4 5 TRUE TRUE) ( 7 12 TRUE FALSE) ( 15 17 FALSE FALSE) ( 19 28 FALSE TRUE) ( 30 34 TRUE TRUE) ( 37 38 TRUE TRUE) ( 40 45 TRUE TRUE) ( 47 53 FALSE FALSE) ( 58 66 TRUE TRUE) ( 69 70 FALSE TRUE) ( 72 77 FALSE FALSE) ( 80 84 FALSE FALSE) ( 89 91 FALSE TRUE) ( 93 93 TRUE TRUE) ( 98 101 FALSE FALSE) ( 106 114 FALSE FALSE) ( 117 123 FALSE FALSE) ( 127 127 TRUE TRUE) ( 131 136 TRUE TRUE) ( 138 144 FALSE FALSE) ( 146 151 TRUE TRUE) ( 156 157 TRUE TRUE) ( 159 160 TRUE FALSE) ( 163 170 FALSE TRUE) ( 172 177 FALSE FALSE) ( 179 185 FALSE FALSE) ( 190 197 TRUE FALSE) ( 201 208 FALSE TRUE) ) ) );
|
|
|
|
(create r10 : rint);
|
|
(update r10 := ( rint ( ( 1 9 TRUE TRUE) ( 11 15 TRUE FALSE) ( 16 19 FALSE FALSE) ( 20 28 FALSE TRUE) ( 30 33 TRUE FALSE) ( 35 43 TRUE FALSE) ( 47 51 TRUE TRUE) ( 53 55 FALSE TRUE) ( 57 63 TRUE TRUE) ( 65 72 TRUE TRUE) ( 74 74 TRUE TRUE) ( 79 81 FALSE FALSE) ( 85 86 TRUE FALSE) ( 90 91 FALSE TRUE) ( 96 101 FALSE TRUE) ( 106 114 FALSE TRUE) ( 116 123 TRUE FALSE) ( 125 128 FALSE TRUE) ( 132 139 TRUE FALSE) ( 141 142 TRUE FALSE) ( 145 147 FALSE TRUE) ( 149 154 TRUE TRUE) ( 156 156 TRUE TRUE) ( 161 169 FALSE FALSE) ( 171 172 TRUE TRUE) ( 177 183 FALSE TRUE) ( 185 188 TRUE FALSE) ( 193 194 FALSE TRUE) ( 199 202 TRUE TRUE) ) ) );
|
|
|
|
#testcase RangeTest000001
|
|
#yields (bool TRUE)
|
|
(query (= (union (intersection r1 r1) (minus r1 r1)) r1));
|
|
|
|
#testcase RangeTest000002
|
|
#yields (bool TRUE)
|
|
(query (= (union (intersection r1 r1) (minus r1 r1)) r1));
|
|
|
|
#testcase RangeTest000003
|
|
#yields (bool TRUE)
|
|
(query (= (union (intersection r1 r2) (minus r1 r2)) r1));
|
|
|
|
#testcase RangeTest000004
|
|
#yields (bool TRUE)
|
|
(query (= (union (intersection r2 r1) (minus r2 r1)) r2));
|
|
|
|
#testcase RangeTest000005
|
|
#yields (bool TRUE)
|
|
(query (= (union (intersection r1 r3) (minus r1 r3)) r1));
|
|
|
|
#testcase RangeTest000006
|
|
#yields (bool TRUE)
|
|
(query (= (union (intersection r3 r1) (minus r3 r1)) r3));
|
|
|
|
#testcase RangeTest000007
|
|
#yields (bool TRUE)
|
|
(query (= (union (intersection r1 r4) (minus r1 r4)) r1));
|
|
|
|
#testcase RangeTest000008
|
|
#yields (bool TRUE)
|
|
(query (= (union (intersection r4 r1) (minus r4 r1)) r4));
|
|
|
|
#testcase RangeTest000009
|
|
#yields (bool TRUE)
|
|
(query (= (union (intersection r1 r5) (minus r1 r5)) r1));
|
|
|
|
#testcase RangeTest000010
|
|
#yields (bool TRUE)
|
|
(query (= (union (intersection r5 r1) (minus r5 r1)) r5));
|
|
|
|
#testcase RangeTest000011
|
|
#yields (bool TRUE)
|
|
(query (= (union (intersection r1 r6) (minus r1 r6)) r1));
|
|
|
|
#testcase RangeTest000012
|
|
#yields (bool TRUE)
|
|
(query (= (union (intersection r6 r1) (minus r6 r1)) r6));
|
|
|
|
#testcase RangeTest000013
|
|
#yields (bool TRUE)
|
|
(query (= (union (intersection r1 r7) (minus r1 r7)) r1));
|
|
|
|
#testcase RangeTest000014
|
|
#yields (bool TRUE)
|
|
(query (= (union (intersection r7 r1) (minus r7 r1)) r7));
|
|
|
|
#testcase RangeTest000015
|
|
#yields (bool TRUE)
|
|
(query (= (union (intersection r1 r8) (minus r1 r8)) r1));
|
|
|
|
#testcase RangeTest000016
|
|
#yields (bool TRUE)
|
|
(query (= (union (intersection r8 r1) (minus r8 r1)) r8));
|
|
|
|
#testcase RangeTest000017
|
|
#yields (bool TRUE)
|
|
(query (= (union (intersection r1 r9) (minus r1 r9)) r1));
|
|
|
|
#testcase RangeTest000018
|
|
#yields (bool TRUE)
|
|
(query (= (union (intersection r9 r1) (minus r9 r1)) r9));
|
|
|
|
#testcase RangeTest000019
|
|
#yields (bool TRUE)
|
|
(query (= (union (intersection r1 r10) (minus r1 r10)) r1));
|
|
|
|
#testcase RangeTest000020
|
|
#yields (bool TRUE)
|
|
(query (= (union (intersection r10 r1) (minus r10 r1)) r10));
|
|
|
|
#teardown
|
|
close database;
|
|
delete database rangetest;
|