J'ai ce générateur qui semble fonctionner, mais quand je vérifie les valeurs générées, il ne choisit jamais la valeur nulle. Comment écrit-on un générateur qui choisira une valeur nulle. Ce code ne choisit jamais de valeur nulle pour la date "fin".Comment générer une valeur null pour les types Nullable avec FsCheck?
public static Gen<DateTime?> NullableDateTimeGen()
{
var list = new List<DateTime?>();
if (list.Any() == false)
{
var endDate = DateTime.Now.AddDays(5);
var startDate = DateTime.Now.AddDays(-10);
list.AddRange(Enumerable.Range(0, 1 + endDate.Subtract(startDate).Days)
.Select(offset => startDate.AddDays(offset))
.Cast<DateTime?>()
.ToList());
list.Add(null);
list.Insert(0, null);
}
return from i in Gen.Choose(0, list.Count - 1)
select list[i];
}
public static Arbitrary<Tuple<DateRange, DateTime>> TestTuple()
{
return (from s in NullableDateTimeGen().Where(x => x != null)
from e in NullableDateTimeGen()
from p in NullableDateTimeGen().Where(x => x != null)
where s <= e
select new Tuple<DateRange, DateTime>(new DateRange(s.Value, e), p.Value))
.ToArbitrary();
}
Que signifie exactement choisir pas les valeurs NULL? Fonction NullableDateTimeGen ou TestTuple? – Evk
@Evk: TestTuple – epitka