Zealot.TestDataBuilder
6.4.0
dotnet add package Zealot.TestDataBuilder --version 6.4.0
NuGet\Install-Package Zealot.TestDataBuilder -Version 6.4.0
<PackageReference Include="Zealot.TestDataBuilder" Version="6.4.0" />
paket add Zealot.TestDataBuilder --version 6.4.0
#r "nuget: Zealot.TestDataBuilder, 6.4.0"
// Install Zealot.TestDataBuilder as a Cake Addin #addin nuget:?package=Zealot.TestDataBuilder&version=6.4.0 // Install Zealot.TestDataBuilder as a Cake Tool #tool nuget:?package=Zealot.TestDataBuilder&version=6.4.0
Zealot.SampleBuilder
Support developers with creating sample data while writing Tests.
Build
Code Quality
How to Use
Default usage
using Zealot;
var instance = TestDataBuilder
.For<Your Class or Struct or any Primitive Type>()
.Build();
WithOverride
You can alter or override any value during the process of building.
using Zealot;
var instance = TestDataBuilder
.For<Your Class or Struct or any Primitive Type>()
.WithOverride(p => p.YourProperty = YourNewValue)
.Build();
WithListSize
The lists will have given number of elements in them.
- Default is 2.
- Negative number will be result as zero.
- Supported lists are given below
using Zealot;
var instance = TestDataBuilder
.For<Your Class or Struct or any Primitive Type>()
.WithListSize(AnyPossitiveNumber)
.Build();
Supported List Types
- ArrayList
- List<>
- IList<>
- ICollection<>
- LinkedList<>
- Queue<>
- Queue
- Stack
- Stack<>
- IEnumerable<>
- IReadOnlyCollection<>
- IReadOnlyList<>
Not Supported List Types
They will be null.
- IList
- ICollection
- IEnumerable
WithStartingNumber
The uniqueness is managed by adding incremental number of the properties.
- String properties have own incremental number
- Number properties have own incremental number
- Number properties are described below.
- You can change the any starting number (positive or negative)
using Zealot;
var instance = TestDataBuilder
.For<Your Class or Struct or any Primitive Type>()
.WithStartingNumber(100)
.Build();
Number Properties
- int?
- int
- short?
- short
- double?
- double
- float?
- float
- decimal?
- decimal
- long?
- long
- ushort?
- ushort
- uint?
- uint
- ulong?
- ulong
WithLogger
You can integrate your ILogger from Microsoft.Extensions.Logging to the builder
using Zealot;
var instance = TestDataBuilder
.For<Your Class or Struct or any Primitive Type>()
.WithLogger(Your ILogger interface implementation here)
.Build();
WithRecursionLevel
You can manipulate the recursion level.
- Default is zero.
using Zealot;
var instance = TestDataBuilder
.For<Your Class or Struct or any Primitive Type>()
.WithRecursionLevel(1)
.Build();
WithStringBody
You can change default body for all string properties.
- Default is 'test_'.
using Zealot;
var instance = TestDataBuilder
.For<Your Class or Struct or any Primitive Type>()
.WithStringBody("suffix")
.Build();
WithStringUniqueStartingNumber
You can add incremental number at the end of each string property.
- Default is empty.
using Zealot;
var instance = TestDataBuilder
.For<Your Class or Struct or any Primitive Type>()
.WithStringUniqueStartingNumber(1)
.Build();
WithDate
You can change all dates with given datetime.
- Default is DateTime.UtcNow.
using Zealot;
var uthNow = DateTime.UtcNow;
var instance = TestDataBuilder
.For<Your Class or Struct or any Primitive Type>()
.WithDate(utcNow)
.Build();
WithGuid
You can change all guids with given datetime.
- Default is Guid.NewGuid().
using Zealot;
var guid = Guid.NewGuid();
var instance = TestDataBuilder
.For<Your Class or Struct or any Primitive Type>()
.WithGuid(guid)
.Build();
WithDefault
You can change all properties with default values.
using Zealot;
var guid = Guid.NewGuid();
var instance = TestDataBuilder
.For<Your Class or Struct or any Primitive Type>()
.WithDefault()
.Build();
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. 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. |
-
net6.0
- Microsoft.Extensions.Logging (>= 7.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.