Files
secondo/Algebras/Pointcloud2/test-specs/tcPointcloud2.test
2026-01-23 17:03:45 +08:00

129 lines
3.6 KiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

########################################
# 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;