You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When a nullable system type is specified, the output RuleFor() is 'default'.
Perhaps this is by design, but it seems one would generally want to have the full spectrum of possible results for a nullable system type.
LINQPad Example or Reproduction Steps
public class NullableProperties
{
public string FirstName { get; set; } = string.Empty;
public decimal? NullableDecimal { get; set; }
public int? NullableInt { get; set; }
public int JustInt { get; set; }
}
static void BogusAnalyzer()
{
var g = new Faker<NullableProperties>()
.RuleFor(n => n.FirstName, f => f.Lorem.Word())
.RuleFor(n => n.NullableDecimal, f => default) // <-- Would expect this to be f.Random.Decimal().OrNull(f)
.RuleFor(n => n.NullableInt, f => default) // <-- Would expect this to be f.Random.Int().OrNull(f)
.RuleFor(n => n.JustInt, f => f.Random.Int());
var o = g.Generate();
}
Expected Behavior
I'd expect that the generated RuleFor would have the underlying type and use the OrNull() from Bogus, such as:
var g = new Faker<NullableProperties>()
.RuleFor(n => n.FirstName, f => f.Lorem.Word())
.RuleFor(n => n.NullableDecimal, f => f.Random.Decimal().OrNull(f))
.RuleFor(n => n.NullableInt, f => f.Random.Int().OrNull(f))
.RuleFor(n => n.JustInt, f => f.Random.Int());
Actual Behavior
default is output in the RuleFor()
Known Workarounds
No response
Could you help with a pull-request?
No
The text was updated successfully, but these errors were encountered:
Bogus NuGet Package
35.6.0
.NET Version
net 6
Visual Studio Version
17.10.3
What operating system are you using?
Windows
What locale are you using with Bogus?
en_US
Problem Description
When a nullable system type is specified, the output RuleFor() is 'default'.
Perhaps this is by design, but it seems one would generally want to have the full spectrum of possible results for a nullable system type.
LINQPad Example or Reproduction Steps
Expected Behavior
I'd expect that the generated RuleFor would have the underlying type and use the OrNull() from Bogus, such as:
Actual Behavior
default is output in the RuleFor()
Known Workarounds
No response
Could you help with a pull-request?
No
The text was updated successfully, but these errors were encountered: