41 lines
1.6 KiB
Plaintext
41 lines
1.6 KiB
Plaintext
# Operator-Test-Suites brauchen *nicht* testen:
|
|
# - den Typ-Konstruktor
|
|
# - Operatoren und Typen anderer Algebren
|
|
# Also, vielleicht für uns, weil verschiedene Teile von Secondo
|
|
# in unterschiedlicher Qualität implementiert sind, aber die fertige Test-Suite
|
|
# sollte im besten Fall nur abdecken:
|
|
# - Grenz- und Exception-Fälle (Division durch 0, null/undef-Values)
|
|
# - Fehlbenutzung (falscher Input-Typ (da reicht ein Fall wenn das Verhalten i.A. gleich ist))
|
|
# - alle Code-Pfade im Operator-Code (VM und TM alle if-Bäume durchgehen)
|
|
|
|
########################################
|
|
# INITIALIZATION
|
|
########################################
|
|
delete database pc2test;
|
|
|
|
#setup pc2test Pointcloud2Algebra
|
|
create database pc2test;
|
|
open database pc2test;
|
|
|
|
let pc_undef = [const pointcloud2(EUCLID) value (undefined)];
|
|
let pc_empty = [const pointcloud2(EUCLID) value ()];
|
|
let pc_onepoint = [const pointcloud2(EUCLID) value ((1 1 1))];
|
|
let pc_points = [const pointcloud2(EUCLID) value ((1 2 3) (3.0 1.0 2) (2 3 1.0))];
|
|
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)) )];
|
|
|
|
########################################
|
|
# OPERATOR - TESTS
|
|
########################################
|
|
# wenn ihr tolerance_real benutzt, geht das erst nach dem ersten Testcase!
|
|
|
|
#teardown
|
|
kill pc_undef;
|
|
kill pc_empty;
|
|
kill pc_points;
|
|
kill pc_wtuple;
|
|
close database;
|
|
delete database pc2test; |