RandomType 2.0.0
dotnet add package RandomType --version 2.0.0
NuGet\Install-Package RandomType -Version 2.0.0
<PackageReference Include="RandomType" Version="2.0.0" />
paket add RandomType --version 2.0.0
#r "nuget: RandomType, 2.0.0"
// Install RandomType as a Cake Addin #addin nuget:?package=RandomType&version=2.0.0 // Install RandomType as a Cake Tool #tool nuget:?package=RandomType&version=2.0.0
RandomType
RandomType is a C# class library to generate random models/types
Ideal to generate data for tests, or test application fragility, in relation to the entry of the most diverse values
Installation
With package manager console, run:
Install-Package RandomType
The code above will install the latest release, and all dependencies needed
Getting Started
Nothing complicated here, simply a line to generate a random model
var randomModel = RandomTypeGenerator.Generate<YourType>();
If you need a list
var randomModel = RandomTypeGenerator.GenerateList<YourType>();
The code above will create a list with a random number of elements, within the configured limits. To understand how to configure, just read the section below
And if you need, that works as well
var randomModel = RandomTypeGenerator.Generate<int>();
Range settings
If you need more specific random values, you can set the minimum and maximum values for some data types
var randomModel = RandomTypeGenerator.GenerateList<YourType>(settings =>
{
settings.Min.Int32 = 1;
settings.Max.Int32 = 50;
//Number of chars
settings.Min.String = 5;
settings.Max.String = 30;
settings.Min.ListSize = 0;
settings.Max.ListSize = 50;
});
These are just a few examples of the settings that can be made
Property Types
Not all types are available yet, are being implemented over time. Below are all types that are ready:
- String
- Int32
- Bool
- Double
- Date
- Decimal
- Int64
- TimeSpan
- Byte
- Char
- Float
- Enum
- Array & collections
- Dictionary (new)
If the model has other models inside it, or lists, they will also be generated randomly
Contributing
If you feel the need for new types, or find a bug
- Pull requests are always welcome (you can fork the repository aswell)
- Issues created will help me to set some priority
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
targetframework net45 support REMOVED.
New features:
*Support to dictionary
*Possibility of generate random values for primitive types
*New overloads to Generate and GenerateList methods
Bug fixes
*Generating lists of enums, or lists inside lists