This documentation describes the Prokee module interface.
Static Methods:
rnd_data
void *generator::rnd_data(int min_length,int max_length,int *alloc_length)
rnd_string
char *generator::rnd_string(int min_length,int max_length)
rnd_string_ascii
char *generator::rnd_string_ascii(int min_length,int max_length)
rnd_string_sym
char *generator::rnd_string_sym(int min_length,int max_length,const char *sym)
rnd_wstring
wchar_t *generator::rnd_wstring(int min_length,int max_length)
Motivation
Erzeugen zufälliger Input Daten zur Ausführung von Software-Tests.
Static Methods
rnd_data
Alloziert einen neuen Speicherbereich und füllt diesen mit zufälligen Bytes auf.
Die Länge des neuen Speicherbereichs wird zufällig im Bereich von
min_length bis
max_length gewählt.
Sofern
alloc_length nicht
NULL ist, wird die Länge des allozierten Speicherbereichs nach
*alloc_length geschrieben.
Signature:
void *generator::rnd_data(int min_length,int max_length,int *alloc_length)
Parameters:
| int | min_length | | Mindestlänge des zu allozierenden Speicherbereichs. Der kleinste zulässige Wert ist 1. |
| int | max_length | | Maximallänge des zu allozierenden Speicherbereichs. |
| int * | alloc_length | [OUT] | Entweder NULL, oder ein Pointer auf einen int-Wert. |
Return value:Pointer auf den neu allozierten Speicherbereich.
Remarks:
Das Programm muss den zurückgegebenen Speicherbereich wieder freigeben.
rnd_string
Schreibt einen zufälligen null-terminierten String in einen neu allozierten Speicherbereich.
Die Länge des neuen Strings wird zufällig im Bereich von
min_length bis
max_length gewählt.
Signature:
char *generator::rnd_string(int min_length,int max_length)
Parameters:
| int | min_length | | Mindestlänge des zu generierenden Strings. Der kleinste zulässige Wert ist 0. |
| int | max_length | | Maximallänge des zu generierenden Strings. |
Return value:Pointer auf den neu allozierten Speicherbereich.
Remarks:
Das Programm muss den zurückgegebenen Speicherbereich wieder freigeben.

Der Speicherbereich ist um ein Byte länger als der String (benötigter Platz für das Null-Terminierungs-Zeichen).

Der Speicherbereich wird mit zufälligen Werten aufgefüllt. Es muss sich daher nicht um gültige UNICODE Zeichen einer bestimmten Codierung handeln.
rnd_string_ascii
Schreibt einen zufälligen null-terminierten ASCII String in einen neu allozierten Speicherbereich.
Die Länge des neuen Strings wird zufällig im Bereich von
min_length bis
max_length gewählt.
Der generierte String besteht ausschließlich aus ASCII-Zeichen.
Signature:
char *generator::rnd_string_ascii(int min_length,int max_length)
Parameters:
| int | min_length | | Mindestlänge des zu generierenden Strings. Der kleinste zulässige Wert ist 0. |
| int | max_length | | Maximallänge des zu generierenden Strings. |
Return value:Pointer auf den neu allozierten Speicherbereich.
Remarks:
Das Programm muss den zurückgegebenen Speicherbereich wieder freigeben.

Der Speicherbereich ist um ein Byte länger als der String (benötigter Platz für das Null-Terminierungs-Zeichen).
rnd_string_alphanum
Schreibt einen zufälligen null-terminierten ASCII String in einen neu allozierten Speicherbereich.
Die Länge des neuen Strings wird zufällig im Bereich von
min_length bis
max_length gewählt.
Der generierte String besteht ausschließlich aus folgenden Zeichen: "_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".
Signature:
char *generator::rnd_string_alphanum(int min_length,int max_length)
Parameters:
| int | min_length | | Mindestlänge des zu generierenden Strings. Der kleinste zulässige Wert ist 0. |
| int | max_length | | Maximallänge des zu generierenden Strings. |
Return value:Pointer auf den neu allozierten Speicherbereich.
Remarks:
Das Programm muss den zurückgegebenen Speicherbereich wieder freigeben.

Der Speicherbereich ist um ein Byte länger als der String (benötigter Platz für das Null-Terminierungs-Zeichen).
rnd_string_alphanum_ext
Schreibt einen zufälligen null-terminierten ASCII String in einen neu allozierten Speicherbereich.
Die Länge des neuen Strings wird zufällig im Bereich von
min_length bis
max_length gewählt.
Der generierte String besteht ausschließlich aus Zeichen wie unter rnd_string_alphanum() angegeben sowie einigen weiteren Sonderzeichen.
Signature:
char *generator::rnd_string_alphanum_ext(int min_length,int max_length)
Parameters:
| int | min_length | | Mindestlänge des zu generierenden Strings. Der kleinste zulässige Wert ist 0. |
| int | max_length | | Maximallänge des zu generierenden Strings. |
Return value:Pointer auf den neu allozierten Speicherbereich.
Remarks:
Das Programm muss den zurückgegebenen Speicherbereich wieder freigeben.

Der Speicherbereich ist um ein Byte länger als der String (benötigter Platz für das Null-Terminierungs-Zeichen).
rnd_string_sym
Schreibt einen zufälligen null-terminierten ANSI String in einen neu allozierten Speicherbereich.
Die Länge des neuen Strings wird zufällig im Bereich von
min_length bis
max_length gewählt.
Der generierte String besteht ausschließlich aus Zeichen, welche in
sym enthalten sind.
Signature:
char *generator::rnd_string_sym(int min_length,int max_length,const char *sym)
Parameters:
| int | min_length | | Mindestlänge des zu generierenden Strings. Der kleinste zulässige Wert ist 0. |
| int | max_length | | Maximallänge des zu generierenden Strings. |
| const char * | sym | [IN] | Ein null-terminierter String, der alle Zeichen enthält, welche für die Erzeugung des Zufalls-Strings verwendet werden dürfen. |
Return value:Pointer auf den neu allozierten Speicherbereich.
Remarks:
Das Programm muss den zurückgegebenen Speicherbereich wieder freigeben.

Der Speicherbereich ist um ein Byte länger als der String (benötigter Platz für das Null-Terminierungs-Zeichen).

Das Alphabet wird als null-terminierter String
sym übergeben. Bei der Erzeugung des Rückgabe-Strings werden zufällig einzelne Bytes aus
sym ausgewählt. Diese Methode unterstützt daher keine Multi-Byte-Zeichen.
rnd_wstring
Schreibt einen zufälligen null-terminierten (wchar_t) String in einen neu allozierten Speicherbereich.
Die Länge des neuen Strings wird zufällig im Bereich von
min_length bis
max_length gewählt.
Signature:
wchar_t *generator::rnd_wstring(int min_length,int max_length)
Parameters:
| int | min_length | | Mindestlänge des zu generierenden Strings. Der kleinste zulässige Wert ist 0. |
| int | max_length | | Maximallänge des zu generierenden Strings. |
Return value:Pointer auf den neu allozierten Speicherbereich.
Remarks:
Das Programm muss den zurückgegebenen Speicherbereich wieder freigeben.

Der Speicherbereich ist um zwei Byte länger als der String (benötigter Platz für das Null-Terminierungs-Zeichen vom Typ wchar_t).

Der Speicherbereich wird mit zufälligen Werten aufgefüllt. Es muss sich daher nicht um gültige UNICODE Zeichen einer bestimmten Codierung handeln.
rnd_string_norep (version 1)
Schreibt einen zufälligen null-terminierten ANSI String in einen neu allozierten Speicherbereich.
Im Unterschied zu rnd_string() erzeugt diese Methode Strings, die kein Zeichen doppelt enthalten.
Die Länge des neuen Strings wird zufällig gewählt, sie kann jedoch nicht länger als die Länge von
sym sein.
Der generierte String besteht ausschließlich aus Zeichen, welche in
sym enthalten sind, wobei jedes Zeichen maximal einmal in
sym vorkommen darf.
Signature:
char *generator::rnd_string_norep(const char *sym)
Parameters:
| const char * | sym | [IN] | Ein null-terminierter String, der alle Zeichen enthält, welche für die Erzeugung des Zufalls-Strings verwendet werden dürfen. |
Return value:Pointer auf den neu allozierten Speicherbereich.
Remarks:
Das Programm muss den zurückgegebenen Speicherbereich wieder freigeben.

Der Speicherbereich ist um ein Byte länger als der String (benötigter Platz für das Null-Terminierungs-Zeichen).

Das Alphabet wird als null-terminierter String
sym übergeben. Bei der Erzeugung des Rückgabe-Strings werden zufällig einzelne Bytes aus
sym ausgewählt. Diese Methode unterstützt daher keine Multi-Byte-Zeichen.

Da nur einzelne Bytes (und keine Multi-Byte-Zeichen) betrachtet werden, ist die Länge des Strings aus 255 unterschiedliche Bytes beschränkt.

Die Methode kann auch verwendet werden, um längere Strings zu erzeugen. Dazu können in
sym einzelne Zeichen (meint Bytes) mehrfach angegeben werden. Diese Zeichen können dann im erzeugten String ebenfalls mehrfach vorkommen, jedoch nicht öfters als sie in
sym enthalten sind.
rnd_string_norep (version 2)
Schreibt einen zufälligen null-terminierten ANSI String in einen neu allozierten Speicherbereich.
Im Unterschied zu rnd_string() erzeugt diese Methode Strings, die kein Zeichen doppelt enthalten.
Die Länge des neuen Strings wird zufällig gewählt und kann von 0 bis 255 betragen.
Signature:
char *generator::rnd_string_norep()
Return value:Pointer auf den neu allozierten Speicherbereich.
Remarks:
Das Programm muss den zurückgegebenen Speicherbereich wieder freigeben.

Der Speicherbereich ist um ein Byte länger als der String (benötigter Platz für das Null-Terminierungs-Zeichen).

Der String besteht aus zufällig gewählten Bytes von 1 bis 255. Dies umfasst auch nicht-druckbare Zeichen.
rnd_string_norep (version 3)
Schreibt einen zufälligen null-terminierten ANSI String in einen neu allozierten Speicherbereich.
Im Unterschied zu rnd_string() erzeugt diese Methode Strings, die kein Zeichen doppelt enthalten.
Die Länge des neuen Strings wird zufällig im Bereich von
min_length bis
max_length gewählt.
Signature:
char *generator::rnd_string_norep(int min_length,int max_length)
Parameters:
| int | min_length | | Mindestlänge des zu generierenden Strings. Der kleinste zulässige Wert ist 0. |
| int | max_length | | Maximallänge des zu generierenden Strings. |
Return value:Pointer auf den neu allozierten Speicherbereich.
Remarks:
Das Programm muss den zurückgegebenen Speicherbereich wieder freigeben.

Der Speicherbereich ist um ein Byte länger als der String (benötigter Platz für das Null-Terminierungs-Zeichen).

Der String besteht aus zufällig gewählten Bytes von 1 bis 255. Dies umfasst auch nicht-druckbare Zeichen.

Da nur einzelne Bytes (und keine Multi-Byte-Zeichen) betrachtet werden, ist die Länge des Strings aus 255 unterschiedliche Bytes beschränkt.

Der erzeugte String kann jedenfalls nicht länger als 255 Zeichen sein. Sofern
min_length und
max_length längere Strings zulassen (oder erzwingen), werden solche auf die maximale Länge gekürzt. Dies bewirkt, dass Strings dieser Länge häufiger vorkommen können, falls eine zu große Länge angegeben wurde.
rnd_string_norep (version 4)
Schreibt einen zufälligen null-terminierten ANSI String in einen neu allozierten Speicherbereich.
Im Unterschied zu rnd_string() erzeugt diese Methode Strings, die kein Zeichen doppelt enthalten.
Die Länge des neuen Strings wird zufällig im Bereich von
min_length bis
max_length gewählt.
Der generierte String besteht ausschließlich aus Zeichen, welche in
sym enthalten sind, wobei jedes Zeichen maximal einmal in
sym einmal vorkommen darf.
Signature:
char *generator::rnd_string_norep(int min_length,int max_length,const char *sym)
Parameters:
| int | min_length | | Mindestlänge des zu generierenden Strings. Der kleinste zulässige Wert ist 0. |
| int | max_length | | Maximallänge des zu generierenden Strings. |
| const char * | sym | [IN] | Ein null-terminierter String, der alle Zeichen enthält, welche für die Erzeugung des Zufalls-Strings verwendet werden dürfen. |
Return value:Pointer auf den neu allozierten Speicherbereich.
Remarks:
Das Programm muss den zurückgegebenen Speicherbereich wieder freigeben.

Der Speicherbereich ist um ein Byte länger als der String (benötigter Platz für das Null-Terminierungs-Zeichen).

Das Alphabet wird als null-terminierter String
sym übergeben. Bei der Erzeugung des Rückgabe-Strings werden zufällig einzelne Bytes aus
sym ausgewählt. Diese Methode unterstützt daher keine Multi-Byte-Zeichen.

Da nur einzelne Bytes (und keine Multi-Byte-Zeichen) betrachtet werden, ist die Länge des Strings aus 255 unterschiedliche Bytes beschränkt.

Die Methode kann auch verwendet werden, um längere Strings zu erzeugen. Dazu können in
sym einzelne Zeichen (meint Bytes) mehrfach angegeben werden. Diese Zeichen können dann im erzeugten String ebenfalls mehrfach vorkommen, jedoch nicht öfters als sie in
sym enthalten sind.

Der erzeugte String kann jedenfalls nicht länger sein als
sym. Sofern
min_length und
max_length längere Strings zulassen (oder erzwingen), werden solche auf die maximale Länge gekürzt. Dies bewirkt, dass Strings dieser Länge häufiger vorkommen können, falls eine zu große Länge angegeben wurde.
rnd_bool
Gibt einen zufälligen bool'schen Wert zurück.
Signature:
bool generator::rnd_bool()