Faker - generátor pseudonáhodného obsahu objektů v C#
Název práce v češtině: | Faker - generátor pseudonáhodného obsahu objektů v C# |
---|---|
Název v anglickém jazyce: | Faker - pseudorandom object content C# generator |
Klíčová slova: | Faker|pseudonáhodný|PRNG|xoshiro256**|.NET knihovna |
Klíčová slova anglicky: | Faker|pseudorandom|PRNG|xoshiro256**|.NET library |
Akademický rok vypsání: | 2020/2021 |
Typ práce: | bakalářská práce |
Jazyk práce: | čeština |
Ústav: | Katedra distribuovaných a spolehlivých systémů (32-KDSS) |
Vedoucí / školitel: | Mgr. Pavel Ježek, Ph.D. |
Řešitel: | skrytý - zadáno a potvrzeno stud. odd. |
Datum přihlášení: | 11.02.2021 |
Datum zadání: | 11.02.2021 |
Datum potvrzení stud. oddělením: | 26.05.2021 |
Datum a čas obhajoby: | 10.09.2021 09:00 |
Datum odevzdání elektronické podoby: | 20.07.2021 |
Datum odevzdání tištěné podoby: | 22.07.2021 |
Datum proběhlé obhajoby: | 10.09.2021 |
Oponenti: | Adam Dingle, M.Sc. |
Zásady pro vypracování |
Cílem práce je navrhnout a naimplementovat .NET knihovnu využitelnou při psaní unit testů pro vyplňování instancí uživatelem definovaných tříd pseudonáhodným obsahem. Generovaná data budou pseudonáhodná, ale jejich struktura by měla být relevantní v uživatelem specifikovaném kontextu. Knihovna umožní uživateli nakonfigurovat, jakým způsobem mají být instance jeho tříd vyplňovány a následně generovat množství odpovídajících instancí. Důraz by měl být kladen na přehlednost a intuitivnost API, které knihovna bude poskytovat pro efektivní tvorbu unit testů. Součástí práce bude implementace zvoleného algoritmu pro generování pseudonáhodných čísel a jeho následné využití při generování široké škály typů náhodných dat, pokrývající základní datové typy v C#, stejně jako vybrané objekty reálného světa (jména osob, ulic, měst, telefonní čísla, apod.). Pseudonáhodný generátor bude využitelný jak při automatickém vyplňování instancí uživatelem definovaných tříd prostřednictvím API Fakeru, tak pro generování samostatně stojících pseudonáhodných hodnot. |
Seznam odborné literatury |
* Mark Michaelis: Essential C# 7.0 (6th Edition), Addison-Wesley Microsoft Technology Series, June 2018
* Jeffrey Richter: CLR via C# (4th Edition) * John Skeet: C# in Depth 3rd Edition * .NET Documentation, https://docs.microsoft.com/en-us/dotnet/ |