Files
secondo/Algebras/Pointcloud2/test-specs/tcPointcloud2.test

129 lines
3.6 KiB
Plaintext
Raw Normal View History

2026-01-23 17:03:45 +08:00
########################################
# INITIALIZATION
########################################
delete database pc2test;
#setup pc2test Pointcloud2Algebra
create database pc2test;
open database pc2test;
########################################
# CREATE POINTCLOUD2
# YIELDS SUCCESS
########################################
#testcase correct way to express undefined
#yields success
let lc0 = [const int value undefined];
#testcase create undefined pointcloud2
#yields success
let pc_undef = [const pointcloud2(EUCLID) value (undefined)];
#testcase create pointcloud2 with no point(but correctly defined)
#yields success
let pc_empty = [const pointcloud2(EUCLID) value ()];
#testcase create pointcloud2 with three points
#yields success
let pc_points = [const pointcloud2(EUCLID) value ((1 2 3) (3.0 1.0 2) (2 3 1.0))];
#testcase create pointcloud2 with extra columns
#yields success
let pc_wtuple = [const pointcloud2(EUCLID (tuple([Name: string, Value: real])))
value ( (3 1 4 ("Pi" 3.1415))
(2 7 1 ("Euler" 2.71828 ))
(1 4 1 ("Wurzel2" 1.4142)) )];
########################################
# CREATE POINTCLOUD2
# YIELDS ERROR
########################################
# TODO: die folgenden Queries sind falsch und liefern auch einen Fehler,
# der aber vom TestRunner nicht als Fehler anerkannt wird.
#testcase create pointcloud2 with no parameters
#yields error
query [const (pointcloud2) value ((1 1 1))];
#testcase create pointcloud2 without specifying a reference system
#yields error
query [const pointcloud2() value ((1 1 1))];
#testcase create pointcloud2 with invalid reference system (lower case)
#yields error
query [const pointcloud2(wgs84) value ((1 1 1) (2 2 2))];
# TODO: invalid Tuples
########################################
# CLONE
########################################
#testcase clone undefined pointcloud2
#yields success
let pc_undefclone = pc_undef;
#testcase clone pointcloud2 with no point(but correctly defined)
#yields success
let pc_emptyclone = pc_empty;
#testcase clone pointcloud with three points
#yields success
let pc_pointsclone = pc_points;
#testcase clone pointcloud with extra columns
#yields success
let pc_wtupleclone = pc_wtuple;
########################################
# UPDATE
########################################
########################################
# QUERY
########################################
#testcase query object pcundef containing an undefined pointcloud2
#yields ((pointcloud2 EUCLID) undefined)
query pc_undef;
#testcase query object pcundefclone containing an undefined pointcloud2
#yields ((pointcloud2 EUCLID) undefined)
query pc_undefclone;
#testcase query object pc0 containing an empty pointcloud2
#yields ((pointcloud2 EUCLID) ())
query pc_empty;
#testcase query object pc0clone containing an empty pointcloud2
#yields ((pointcloud2 EUCLID) ())
query pc_emptyclone;
#testcase query object pc3clone containing three points
#yields ((pointcloud2 EUCLID) ((1.0 2.0 3.0) (3.0 1.0 2.0) (2.0 3.0 1.0)))
query pc_pointsclone;
#testcase query object pcxclone containing three points and extra columns
#yields ((pointcloud2 (EUCLID (tuple((Name string)(Value real))))) \
( (3.0 1.0 4.0 ("Pi" 3.1415)) \
(2.0 7.0 1.0 ("Euler" 2.71828)) \
(1.0 4.0 1.0 ("Wurzel2" 1.4142 )) ))
query pc_wtupleclone;
########################################
# DELETE
########################################
delete pc_undef;
delete pc_undefclone;
delete pc_empty;
delete pc_emptyclone;
delete pc_points;
delete pc_pointsclone;
delete pc_wtuple;
delete pc_wtupleclone;
#teardown
close database;
delete database pc2test;