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
{{ message }}
Repository navigation
Consider adding NullableRef and NullableValue wrappers #610
Thank you, I was able to figure out the following which fails the test with nulls...
[Property]publicPropertyTest(){// Gen<string?> NullableString() => Gen.Frequency((1, Gen.Constant<string?>(null)), (7, ArbMap.Default.GeneratorFor<string?>()));Gen<string?>NullableString()=>Gen.OrNull(ArbMap.Default.GeneratorFor<string?>());returnProp.ForAll(NullableString().ToArbitrary(), s =>{return(s!=null).Collect(s);});}
I see something in the source called Nullable that looks like it gens a null 1/8th of the time and may be simpler to use, but I can't figure out how to use it. Do you have an example somewhere?
Activity
kurtschelfthout commentedon Jun 3, 2022
Yeah, I felt like the default has changed to "nulls are opt-in" in recent years, in F# since the beginning and in C# more recently.
You can write a string generator that also generates nulls in whatever frequency you'd like.
jibbers42 commentedon Jun 3, 2022
Thank you, I was able to figure out the following which fails the test with
nulls...I see something in the source called
Nullablethat looks like it gens a null 1/8th of the time and may be simpler to use, but I can't figure out how to use it. Do you have an example somewhere?kurtschelfthout commentedon Jun 3, 2022
that's in reference to https://docs.microsoft.com/en-us/dotnet/api/system.nullable-1.value?view=net-6.0 i.e. for nullable value types. So it won't help with strings.
Should probably have NullableRef and NullableValue at this point...
The idea to use this would be:
jibbers42 commentedon Jun 3, 2022
OK, thanks for all the help!
Not sure if you want this issue open for "NullableRef and NullableValue", so feel free to close if not.
[-]No null strings in 3.0.0-beta2 (C#)[/-][+]Consider adding NullableRef and NullableValue wrappers[/+]