Zum Inhalt

Einfache Typgeneratoren

Einfache Typgeneratoren in DATAMIMIC sind unerlĂ€sslich fĂŒr die Erzeugung grundlegender Datentypen wie Strings, Zahlen und andere grundlegende Datentypen. Diese Generatoren sind hoch konfigurierbar und ermöglichen es Dir, Muster, Bereiche und Formate anzugeben, um realistische Testdaten zu erzeugen.

AcademicTitleGenerator

Erzeugt akademische Titel.

Eigenschaften:

  • dataset: Entweder ein Regionsname oder der zweistellige ISO-Code eines Landes. UnterstĂŒtztes Dataset: US, DE, FR, CN, IT
  • quota: Die Quote der erzeugten Titel. (Standard: 0,5)

1
<key name="academic_title" generator="AcademicTitleGenerator"/>
oder
1
<key name="academic_title" generator="AcademicTitleGenerator(dataset='US', quota='1')"/>

Beispielausgabe:

1
2
3
4
5
6
Bachelor
Master
PhD
Assistant Prof.
Prof.
Dipl.-Ing.

BirthdateGenerator

Erzeugt ein zufÀlliges Geburtsdatum.

Eigenschaften:

  • min_age: Mindestalterwert. (Standard: 1)
  • max_age: Höchstalterwert. (Standard: 100)

1
<key name="birth_date" generator="BirthdateGenerator"/>
oder
1
<key name="birth_date" generator="BirthdateGenerator(min_age=10, max_age=100)"/>

Beispielausgabe:

1
2
3
4
5
datetime.datetime(1969, 1, 7, 14, 58, 48)
datetime.datetime(1975, 11, 27, 0, 28, 40)
datetime.datetime(1988, 7, 16, 15, 21, 43)
datetime.datetime(2021, 9, 11, 9, 13, 8)
datetime.datetime(1981, 1, 26, 0, 15, 23)

Mit outDateFormat:

1
<key name="birth_date" generator="BirthdateGenerator" outDateFormat="%Y-%m-%d %H:%M:%S"/>

Beispielausgabe:

1
2
3
4
5
2014-05-22 13:39:19
2017-09-18 19:45:48
2018-07-25 03:14:36
2014-03-16 18:28:02
2019-05-12 13:15:05

BooleanGenerator

Erzeugt boolesche Werte.

1
<key name="is_active" generator="BooleanGenerator"/>

Beispielausgabe:

1
2
3
4
5
True
False
True
False
False

CNPJGenerator

Erzeugt brasilianische Unternehmensidentifikationsnummern (CNPJ).

1
<key name="cnpj" generator="CNPJGenerator"/>

Beispielausgabe:

1
2
3
4
5
02.167.943/0001-39
04.823.916/0001-00
49.620.758/0001-11
80.462.379/0001-90
96.201.384/0001-80

CPFGenerator

Erzeugt brasilianische individuelle Steuerzahlerregistrierungsidentifikation (CPF).

1
<key name="cpf" generator="CPFGenerator"/>
Beispielausgabe:
1
2
3
4
5
815.094.237-88
936.745.820-74
863.097.524-56
243.105.697-06
472.018.693-96

CompanyNameGenerator

Erzeugt Firmennamen.

1
<key name="company_name" generator="CompanyNameGenerator"/>

Beispielausgabe:

1
2
3
4
5
MindForge
FreeFlash
ObjectBot
TradeBit
NanoServe

DateTimeGenerator

Erzeugt Datum- und Zeitwerte.

Eigenschaften:

  • min: Mindestdatumwert. (optional)
  • max: Höchstdatumwert. (optional)
  • input_format: Datumsformat. (Standard: %Y-%m-%d %H:%M:%S)
1
<key name="created_at" generator="DateTimeGenerator(min='2020-01-01', max='2023-12-31', input_format='%Y-%m-%d')"/>

Beispielausgabe:

1
2
3
4
5
datetime.datetime(2023, 3, 17, 22, 49, 52)
datetime.datetime(2020, 12, 20, 19, 9, 14)
datetime.datetime(2020, 2, 14, 14, 9, 5)
datetime.datetime(2023, 9, 23, 23, 42, 55)
datetime.datetime(2022, 11, 30, 11, 15, 1)

Mit outDateFormat:

1
2
3
<key name="created_at" 
     generator="DateTimeGenerator(min='2020-01-01', max='2023-12-31', input_format='%Y-%m-%d')" 
     outDateFormat="%Y-%m-%dT%H:%M:%S"/>

Beispielausgabe:

1
2
3
4
5
2020-02-15T10:30:00
2021-06-10T14:45:00
2022-09-25T09:00:00
2023-03-05T16:20:00
2023-11-30T23:59:59

DomainGenerator

Erzeugt Domainnamen.

1
<key name="domain" generator="DomainGenerator"/>

Beispielausgabe:

1
2
3
4
5
microsoft.de
gmail.com
dyio.org
hotmail.com
realshop.de

EANGenerator

Erzeugt Internationale Artikelnummern (EAN).

1
<key name="ean" generator="EANGenerator"/>

Beispielausgabe:

1
2
3
4
5
8704362649090
0290992539262
2036261933274
5154345840724
7662824922147

EmailAddressGenerator

Erzeugt E-Mail-Adressen.

1
<key name="email" generator="EmailAddressGenerator"/>

Beispielausgabe:

FamilyNameGenerator

Erzeugt Familiennamen.

1
<key name="last_name" generator="FamilyNameGenerator"/>

Beispielausgabe:

1
2
3
4
5
Jones
Stephens
Garcia
Pittman
Mckee

GivenNameGenerator

Erzeugt Vornamen.

1
<key name="first_name" generator="GivenNameGenerator"/>

Beispielausgabe:

1
2
3
4
5
Carlos
Zachary
Richard
Gail
Thomas

IncrementGenerator

Erzeugt Zahlen, die mit eins beginnen und bei jedem nachfolgenden Aufruf erhöht werden.

Eigenschaften:

  • start: Anfangswert. (Standard: 1)
  • end: Höchstwert. (Standard: 9223372036854775807)
1
<key name="incremental_id" generator="IncrementGenerator"/>

Beispielausgabe:

1
2
3
4
5
1
2
3
4
5

1
<key name="id" generator="IncrementGenerator(start=10, end=20)"/>

Beispielausgabe:

1
2
3
4
5
10
11
12
13
14

IntegerGenerator

Erzeugt Ganzzahlen.

Eigenschaften:

  • min: Mindestganzzahlwert. (Standard: 0)
  • max: Höchstganzzahlwert. (Standard: 10)
1
<key name="quantity" generator="IntegerGenerator(min=1, max=100)"/>

Beispielausgabe:

1
2
3
4
5
9
49
62
19
41

PhoneNumberGenerator

Erzeugt Telefonnummern.

1
<key name="phone_number" generator="PhoneNumberGenerator"/>

Beispielausgabe:

1
2
3
4
5
+1-423-1295849
+1-941-0407764
+1-603-4732447
+1-715-9870003
+1-706-3489021

SectorGenerator

Erzeugt GeschÀftsbereiche.

1
<key name="sector" generator="SectorGenerator"/>

Beispielausgabe:

1
2
3
4
5
Leasing
Systems Integration
Solutions
Consulting & Engineering
Technik

SSNGenerator

Erzeugt Sozialversicherungsnummern (SSN).

1
<key name="ssn" generator="SSNGenerator"/>

Beispielausgabe:

1
2
3
4
5
376-57-5744
181-63-4946
714-18-5932
184-62-1179
184-98-0128

StringGenerator

Erzeugt Strings basierend auf LĂ€ngenmerkmalen. Dies ist die typische Komponente fĂŒr die Erzeugung von Codenummern.

Eigenschaften:

  • min_len: MindestlĂ€nge des Strings. (Standard: 1)
  • max_len: Maximale LĂ€nge des Strings. (Standard: 10)
1
<key name="random_string" generator="StringGenerator(min_len=10,max_len=20)"/>

Beispielausgabe:

1
2
3
4
5
XLgifeSBpGOBBQKzbwx
eWiNZhtiWvqeGeYflN
wVttiKmBISjR
wHtqRtAHaQEUbii
fwWGfdEJkZzZXwoF

FloatGenerator

Erzeugt Dezimalzahlen.

Eigenschaften:

  • min: Mindestwert. (Standard: 1)
  • max: Höchstwert. (Standard: 10)
  • granularity: Stufe des Bruchteils. (Standard: 0,1)
1
<key name="number" generator="FloatGenerator(min=10, max=20, granularity=0.0003)"/>

Beispielausgabe:

1
2
3
4
5
10.4925
13.8852
10.6365
17.5926
19.7271

UUIDGenerator

Erzeugt universell eindeutige Identifikatoren (UUID).

1
<key name="uuid" generator="UUIDGenerator"/>

Beispielausgabe:

1
2
3
4
5
aca6a349-6409-4ba4-b303-f018e6ecb0f0
f5d95e77-6fd5-4f7c-9bca-c67ce8be2431
621ca7d8-df2d-44dd-82a3-768689b9df91
5aabcaeb-921d-4d0e-9b58-06e674176f00
e839ef13-fd4c-4633-98a2-7b7ec4c31c0b

Beispielverwendung von einfachen Typgeneratoren

Betrachte das folgende Beispiel eines DATAMIMIC-Modells, das diese einfachen Typgeneratoren verwendet:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
<setup>
    <!-- Erzeuge ein Dataset mit verschiedenen einfachen Typen -->
        <generate name="simple_types_dataset" count="100" target="ConsoleExporter">
        <key name="academic_title" generator="AcademicTitleGenerator"/>
        <key name="is_active" generator="BooleanGenerator"/>
        <key name="cnpj" generator="CNPJGenerator"/>
        <key name="cpf" generator="CPFGenerator"/>
        <key name="company_name" generator="CompanyNameGenerator"/>
        <key name="created_at" generator="DateTimeGenerator(min='2010-08-01', max='2020-08-31', input_format='%Y-%m-%d')"/>
        <key name="domain" generator="DomainGenerator"/>
        <key name="ean" generator="EANGenerator"/>
        <key name="email" generator="EmailAddressGenerator"/>
        <key name="last_name" generator="FamilyNameGenerator"/>
        <key name="first_name" generator="GivenNameGenerator"/>
        <key name="incremental_id" generator="IncrementGenerator"/>
        <key name="phone_number" generator="PhoneNumberGenerator"/>
        <key name="sector" generator="SectorGenerator"/>
        <key name="ssn" generator="SSNGenerator"/>
        <key name="random_string" generator="StringGenerator(max_len=20)"/>
        <key name="uuid" generator="UUIDGenerator"/>
    </generate>
</setup>

In diesem Beispiel:

  • <AcademicTitleGenerator> erzeugt akademische Titel.
  • <BooleanGenerator> erzeugt boolesche Werte.
  • <CNPJGenerator> erzeugt brasilianische Unternehmensidentifikationsnummern.
  • <CPFGenerator> erzeugt brasilianische individuelle Steuerzahlerregistrierungsidentifikationen.
  • <CompanyNameGenerator> erzeugt Firmennamen.
  • <DateTimeGenerator> erzeugt Datum- und Zeitwerte innerhalb eines bestimmten Bereichs.
  • <DomainGenerator> erzeugt Domainnamen.
  • <EANGenerator> erzeugt Internationale Artikelnummern.
  • <EmailAddressGenerator> erzeugt E-Mail-Adressen.
  • <FamilyNameGenerator> erzeugt Familiennamen.
  • <GivenNameGenerator> erzeugt Vornamen.
  • <IncrementGenerator> erzeugt aufsteigende IDs.
  • <IntegerGenerator> erzeugt Ganzzahlen innerhalb eines bestimmten Bereichs.
  • <PhoneNumberGenerator> erzeugt Telefonnummern.
  • <SectorGenerator> erzeugt GeschĂ€ftsbereiche.
  • <SSNGenerator> erzeugt Sozialversicherungsnummern.
  • <StringGenerator> erzeugt zufĂ€llige Strings basierend auf bestimmten Merkmalen.
  • <UUIDGenerator> erzeugt universell eindeutige Identifikatoren.

Durch die Nutzung dieser einfachen Typgeneratoren kannst Du vielfĂ€ltige und realistische DatensĂ€tze fĂŒr umfassende Test-Szenarien in DATAMIMIC erstellen.