NAME
Quiq::Assert - Zusicherungen
BASE CLASS
SYNOPSIS
use Quiq::Assert;
my $a = Quiq::Assert->new;
# Prüfe, ob Wert in Aufzählung vorkommt
$a->isEnumValue('Birne',['Apfel','Birne','Pflaume']);
# Prüfe, ob Wert nicht leer ist
$a->isNotNull('xyz');
# Prüfe, ob Wert eine Zahl ist
$a->isNumber(3.14152);
DESCRIPTION
Die Klasse stellt Methoden zur Verfügung, mit denen eine Eingenschaft eines Werts geprüft werden kann. Im Erfolgsfall kehrt die jeweilige Methode zurück, im Fehlerfall wirft sie eine Exception.
EXAMPLE
Test von der Kommandozeile aus:
$ perl -MQuiq::Assert -E 'Quiq::Assert->isNotNull("",-name=>"x")'
Exception:
ASSERT-00002: Value is null
Name:
x
Stacktrace:
Quiq::Assert::isNotNull() [+1 -e]
Quiq::Object::throw() [+210 .../Quiq/Assert.pm]
Quiq::Stacktrace::asString() [+425 .../Quiq/Object.pm]
METHODS
Konstruktor
new() - Instantiiere Objekt
Synopsis
$a = $class->new;
Returns
Objekt
Description
Instantiiere ein Objekt der Klasse und liefere eine Referenz auf dieses Objekt zurück. Da die Klasse ausschließlich Klassenmethoden enthält, hat das Objekt lediglich die Funktion, eine abkürzende Aufrufschreibweise zu ermöglichen.
Tests
Die folgenden Testmethoden können sowohl als Klassen- als auch als Objektmethode aufgerufen werden.
isEnumValue() - Prüfe auf Enthaltensein in Enum
Synopsis
$bool = $this->isEnumValue($val,\@values,@opt);
Arguments
Options
- -name => $str
-
Name, der bei Verletzung der Bedingung als Teil der Fehlermeldung ausgegeben wird. Dies kann der Name der geprüften Variable, des geprüften Parameters o.ä. sein.
- -sloppy => $bool
-
Wirf keine Exception, sondern zeige über den Returnwert an, ob die Bedingung erfüllt ist. Liefere 1, wenn die Bedingung erfüllt ist, andernfalls 0. Ist der Wert leer, liefere
undef
.
Returns
Boolean oder undef
Description
Prüfe den Wert $val daraufhin, dass er in Liste @values enthalten ist. Ist dies nicht der Fall, wirf eine Exception. Ein leerer Wert wird übergangen.
isNotNull() - Prüfe auf nichtleeren Wert
Synopsis
$bool = $this->isNotNull($val,@opt);
Arguments
Options
- -name => $str
-
Name, der bei Verletzung der Bedingung als Teil der Fehlermeldung ausgegeben wird. Dies kann der Name der geprüften Variable, des geprüften Parameters o.ä. sein.
- -sloppy => $bool
-
Wirf keine Exception, sondern zeige über den Returnwert an, ob die Bedingung erfüllt ist. Liefere 1, wenn die Bedingung erfüllt ist, andernfalls 0. Ist der Wert leer, liefere Cltundef>.
Returns
Boolean oder undef
Description
Prüfe den Wert $val daraufhin, dass er nichtleer, also weder undefiniert noch ein Leerstring ist. Ist er leer, wirf eine Exception.
isNumber() - Prüfe auf dezimale Zahldarstellung
Synopsis
$bool = $this->isNumber($val,@opt);
Arguments
Options
- -name => $str
-
Name, der bei Verletzung der Bedingung als Teil der Fehlermeldung ausgegeben wird. Dies kann der Name der geprüften Variable, des geprüften Parameters o.ä. sein.
- -sloppy => $bool
-
Wirf keine Exception, sondern zeige über den Returnwert an, ob die Bedingung erfüllt ist. Liefere 1, wenn die Bedingung erfüllt ist, andernfalls 0. Ist der Wert leer, liefere Cltundef>.
Returns
Boolean oder undef
Description
Prüfe den Wert $val daraufhin, dass er eine dezimale Zahl darstellt. Ist dies nicht der Fall, wirf eine Exception. Ein leerer Wert wird übergangen.
VERSION
1.160
AUTHOR
Frank Seitz, http://fseitz.de/
COPYRIGHT
Copyright (C) 2019 Frank Seitz
LICENSE
This code is free software; you can redistribute it and/or modify it under the same terms as Perl itself.