Files
secondo/Algebras/MainMemory/mainmemory_Neu.test

601 lines
13 KiB
Plaintext
Raw Normal View History

2026-01-23 17:03:45 +08:00
# 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
#
# An example test spec for the Secondo TestRunner
# run it with :
#
# TestRunner -i example.test
#
# By default a temporary database directory will be created. If you
# want to use existing databases run
#
# TestRunner --no-tmp -i <file>
#
# If one of your tests (say number N ) reports an error you can run
# it directly by
#
# TestRunner -i <file> -num N
#
# this is useful for debugging
# A test specification consists of initial commands, a section of commands
# setting up the test, a sequence of test cases, and a section of commands
# cleaning up. The TestRunner uses directives to specify these sections.
# directives are specified in comment lines, all comment lines beginning with a
# directive are interpreted as commands to the TestRunner, non-comment lines are
# passed to Secondo. The possible directives are SETUP, TESTCASE, YIELDS and
# TEARDOWN (here i have written the directives in upper case to avoid confusion,
# the real directives must be written in lower case). The meanings of those
# directives are explained the following commented examples.
# the SETUP directive may specify the name of the test and a
# some algebra modules which are needed for it.
# the SETUP directive must appear exactly once in a test spec
#setup mainmemorytest StandardAlgebra RelationAlgebra MainMemoryAlgebra
open database berlintest
#testcase MemoryRelObject
#yields success
let t1 = ten feed mconsume;
#testcase MemoryRelObject
#yields success
query t1;
#testcase MemoryRelObject
#yields success
delete t1;
#testcase meminit
#yields error
query meminit ("ssn");
#testcase meminit
#yields (int 6000)
query meminit (6000);
#testcase memload1
#yields (bool TRUE)
query memload ("ten");
#testcase mcreateAVLtree
#yields (string "ten_No")
query "ten" mcreateAVLtree ["No"];
#testcase matchbelow
#yields ((rel(tuple((No int))))((10)))
query "ten_No" "ten" matchbelow[11] consume
#testcase matchbelow
#yields ((rel(tuple((No int))))((1)))
query "ten_No" "ten" matchbelow[1] consume
#testcase matchbelow
#yields ((rel(tuple((No int))))((5)))
query "ten_No" "ten" matchbelow[5] consume
#testcase matchbelow
#yields ((rel(tuple((No int))))())
query "ten_No" "ten" matchbelow[0] consume
#testcase memload2
#yields error
query memload (3);
#testcase memload3
#yields error
query memload ("tendd");
#testcase memload4
#yields (bool TRUE)
query memloadflob ("tiergarten");
#testcase memgetcatalog
#yields (int 3)
query memgetcatalog() count;
#testcase memload4
#yields (bool TRUE)
query memload ("strassen");
close database;
open database nrw;
#testcase strassenAccessible
#yields error
query "strassen" mfeed consume;
#testcase memgetcatalog
#yields (int 4)
query memgetcatalog() count;
close database;
open database berlintest;
#testcase memdelete
#yields (bool TRUE)
query memdelete("strassen");
#testcase memloadflob4
#yields (bool TRUE)
query memloadflob ("strassen");
close database;
open database nrw;
#testcase strassenAccessible
#yields @../Algebras/MainMemory/mm.result5
query "strassen" mfeed letmconsume ["strassenTest"];
#testcase memload5
#yields (bool TRUE)
query memload ("Roads");
#testcase memload6
#yields error
query memloadflob ("Roads");
#testcase memload7
#yields error
query memloadflob (3);
#testcase memload8
#yields error
query memloadflob ("tendd");
#testcase meminit
#yields (int 980)
query meminit (200);
#testcase meminit
#yields (int 6096)
query meminit (8000);
#testcase mfeed
#yields error
query "keinElement" mfeed count
#testcase mfeed
#yields error
query "ten" mfeed consume
#testcase mfeed
#yields (int 3212)
query "strassenTest" mfeed count;
#testcase mfeed
#yields error
query 3 mfeed count;
#testcase letmconsume
#yields error
query "keinStream" letmconsume ["zehn"];
#testcase letmconsume
#yields @../Algebras/MainMemory/mm.result6
query "strassenTest" mfeed letmconsume ["ten"];
#testcase letmconsume
#yields @../Algebras/MainMemory/mm.result4
query Roads feed head[7] letmconsume ["Roads7"];
#testcase memdelete
#yields error
query memdelete ();
#testcase memdelete
#yields error
query memdelete ("nicht vorhanden");
#testcase memdelete
#yields error
query memdelete (7);
#testcase memdelete
#yields (bool TRUE)
query memdelete ("Roads7");
#testcase memobject
#yields error
query memobject ("nichtvorhanden");
#testcase memobject
#yields error
query memobject (1);
#testcase memobject
#yields @../Algebras/MainMemory/mm.result1
query memobject ("tiergarten");
#testcase memgetcatalog
#yields error
query memgetcatalog(tiergarten) count;
#testcase memgetcatalog
#yields error
query memgetcatalog(3) count;
#testcase memgetcatalog
#yields error
query memgetcatalog("test") count;
#testcase memgetcatalog()
#yields (int 6)
query memgetcatalog() count;
#testcase memlet
#yields error
query memlet("Roads6", Roads feed head[6], 3);
#testcase memlet
#yields error
query memlet("Roads6", nichtvorhanden);
#testcase memlet
#yields (bool TRUE)
query memlet("Roads6", Roads feed head[6]);
#testcase memlet
#yields error
query memlet("Roads6", Roads feed head[8]);
#testcase memgetcatalog()
#yields (int 7)
query memgetcatalog() count;
#testcase memlet
#yields (bool TRUE)
query memlet("tiergartenmm", tiergarten);
#testcase memletflob
#yields error
query memletflob("Roads20", Roads feed head[6], 3);
#testcase memletflob
#yields error
query memlet("Roads20", nichtvorhanden);
#testcase memletflob
#yields (bool TRUE)
query memletflob("Roads20", Roads feed head[20]);
#testcase memletflob
#yields error
query memletflob("Roads20", Roads feed head[8]);
#testcase memgetcatalog()
#yields (int 9)
query memgetcatalog() count;
#testcase memletflob
#yields (bool TRUE)
query memletflob("tiergartenmmflob", tiergarten);
#testcase memupdate
#yields error
query memupdate("Roads6", Buildings feed head[8]);
#testcase memgetcatalog()
#yields (int 10)
query memgetcatalog() count
#testcase memupdate
#yields error
query memupdate("tiergarten", Roads feed head[8]);
#testcase memupdate
#yields error
query memupdate("tiergarten", testrectangle);
#testcase memupdate
#yields (bool TRUE)
query memupdate("tiergarten", testregion);
#testcase memupdate
#yields error
query memupdate("nichtVorhanden", Roads feed head[8]);
#testcase memupdate
#yields (bool TRUE)
query memupdate("Roads6", Roads feed head[8]);
#testcase mcreateRtree
#yields error
query "nichtVorhanden" mcreateRtree ["GeoData"];
#testcase mcreateRtree
#yields error
query "Roads" mcreateRtree ["Name"];
#testcase mcreateRtree
#yields error
query "Roads" mcreateRtree ["noAttribute"];
#testcase mcreateRtree
#yields error
query "Roads" mcreateRtree [7];
#testcase mcreateRtree
#yields error
query "Roads" mcreateRtree ["GeoData", "Name"];
#testcase mcreateRtree
#yields (string "Roads_GeoData")
query "Roads" mcreateRtree ["GeoData"];
#testcase mcreateRtree2
#yields (string "Roads_GeoData_2")
query "Roads" mfeed projectextend [Name,Type, GeoData; TID: tupleid(.)] mcreateRtree2 [GeoData, "Roads_GeoData_2"];
#testcase mwindowintersects
#yields (int 74583)
query mwindowintersects ("Roads_GeoData_2", "Roads", testrectangle) count;
#testcase mcreateRtree
#yields (string "Waterways_GeoData")
query Waterways feed letmconsume ["Waterways"] mcreateRtree ["GeoData"];
#testcase memdelete
#yields (bool TRUE)
query memdelete ("Waterways");
#testcase memsize
#yields error
query memsize("test");
#testcase memsize
#yields error
query memsize(300);
#testcase memsize
#yields (int 6096)
query memsize();
#testcase minsert....
#yields error
query minsert (Railways feed head [5], "Roads20") count
#testcase minsert....
#yields error
query minsert (Roads feed head [5], "Roa") count
#testcase minsert....
#yields error
query minsert (Roads feed head [5], 7) count
#testcase minsert....
#yields error
query minsert (Roads, "Roads20") count
#testcase minsert....
#yields (int 25)
query minsert (Roads feed head [5], "Roads20") count
#testcase mwindowintersects
#yields (int 14671)
query mwindowintersects ("Roads_GeoData", "Roads", bbox(testregion)) count;
#testcase mwindowintersects
#yields (int 74583)
query mwindowintersects ("Roads_GeoData", "Roads", bbox(testrectangle)) count;
#testcase mwindowintersects
#yields (int 74583)
query mwindowintersects ("Roads_GeoData", "Roads", testrectangle) count;
#testcase mwindowintersects
#yields error
query mwindowintersects ("nichts", "Roads", testrectangle) count;
#testcase mwindowintersects
#yields error
query mwindowintersects ("Roads_GeoData", "nichts", testrectangle) count;
#testcase mwindowintersects
#yields (int 0)
query mwindowintersects ("Roads_GeoData", "Roads", tiergarten) count;
#testcase mcreateAVLtree
#yields error
query "nichtVorh" mcreateAVLtree ["Name"]
#testcase mcreateAVLtree
#yields error
query Roads mcreateAVLtree ["Name"]
#testcase mcreateAVLtree
#yields error
query 7 mcreateAVLtree ["Name"]
#testcase mcreateAVLtree
#yields error
query "Roads" mcreateAVLtree ["nichtVor"]
#testcase mcreateAVLtree
#yields error
#query "Roads" mcreateAVLtree ["GeoData"]
#testcase mcreateAVLtree
#yields (string "Roads_Name")
query "Roads" mcreateAVLtree ["Name"]
#testcase mcreateAVLtree
#yields (string "Waterways_Name")
query Waterways feed letmconsume ["Waterways"] mcreateAVLtree ["Name"]
#testcase memdelete
#yields (bool TRUE)
query memdelete ("Waterways");
#testcase mexactmatch
#yields error
query "Roads_Name" "gibtsNicht" mexactmatch["Zweifaller Weg"] count
#testcase mexactmatch
#yields error
query "Roads_Name" "Roads" mexactmatch[7] count
#testcase mexactmatch
#yields error
query "gibtsNicht" "Roads" mexactmatch["Zweifaller Weg"] count
#testcase mexactmatch
#yields error
query 7 "Roads" mexactmatch["Zweifaller Weg"] count
#testcase mexactmatch
#yields error
query "Roads_Name" 7 mexactmatch["Zweifaller Weg"] count
#testcase mexactmatch
#yields (int 7)
query "Roads_Name" "Roads" mexactmatch["Zweifaller Weg"] count
#testcase mexactmatch
#yields (int 1)
query "Roads_Name" "Roads" mexactmatch["Sennetrift"] count
#testcase mexactmatch
#yields (int 70)
query "Roads_Name" "Roads" mexactmatch["Lütticher Straße"] count
#testcase mexactmatch
#yields (int 0)
query "Roads_Name" "Roads" mexactmatch["Spass Straße"] count
#testcase memlet
#yields (bool TRUE)
query memlet ("Roads30", Roads feed head[30]);
#testcase mexactmatch
#yields (int 0)
query "Roads_Name" "Roads" mexactmatch["Ötter Weg"] count
#testcase mcreateAVLtree
#yields (string "Roads30_Name")
query "Roads30" mcreateAVLtree ["Name"]
#testcase mexactmatch
#yields (int 3)
query "Roads30_Name" "Roads30" mexactmatch[""] count
#noch andere Testfälle für mrange
#testcase mrange
#yields (int 6)
query "Roads30_Name" "Roads30" mrange ["Kellnerstraße", "Paulstraße"] count
#testcase mrange
#yields (int 7)
query "Roads30_Name" "Roads30" mrange ["", "Dürener Straße"] count
#testcase mrange
#yields (int 6)
query "Roads30_Name" "Roads30" mrange ["", "Clam Straße"] count
#testcase mrange
#yields (int 3)
query "Roads30_Name" "Roads30" mrange ["Zweifaller Weg", "Österwieher Straße"] count
#testcase mrange
#yields (int 1)
query "Roads30_Name" "Roads30" mrange ["Österwieher Straße", "Österwieher Weg"] count
#testcase mrange
#yields (int 3)
query "Roads30_Name" "Roads30" mrange ["", ""] count
#testcase mrange
#yields (int 70)
query "Roads_Name" "Roads" mrange ["Lütticher Straße", "Lütticher Straße"] count
#noch andere Testfälle für matchbelow
#testcase matchbelow
#yields @../Algebras/MainMemory/mm.result3
query "Roads30_Name" "Roads30" matchbelow ["Paulstraße"] consume
#testcase matchbelow(Nordstrasse gibts nicht)
#yields @../Algebras/MainMemory/mm.result3
query "Roads30_Name" "Roads30" matchbelow ["Nordstraße"] consume
#testcase memclear
#yields error
query memclear("test");
#testcase memclear
#yields error
query memclear(6);
#testcase memclear
#yields (bool TRUE)
query memclear();
#testcase memgetcatalog
#yields (int 0)
query memgetcatalog() count;
close database;
open database berlintest;
#testcase memload
#yields (bool TRUE)
query memloadflob("ten");
#testcase mconsume ...
#yields ((memoryRelObject(tuple ((No int))))((1) (2) (3) (4) (5) (6) (7) (8) (9) (10)))
query "ten" mfeed mconsume
#testcase mconsume ...
#yields ((memoryRelObject(tuple ((No int))))((1) (2) (3) (4) (5) (6) (7) (8) (9) (10)))
query ten feed mconsume
#testcase memload
#yields (bool TRUE)
query memload("UnitTrains");
#testcase mcreateRtree
#yields (string "UnitTrains_UTrip")
query "UnitTrains" mcreateRtree ["UTrip"];
#testcase mcreateRtree
#yields (string undefined)
query "UnitTrains" mcreateRtree ["UTrip"];
close database;