public virtual int Age(HumanAgeCategory ageCategory = HumanAgeCategory.Adult) { switch (ageCategory) { case HumanAgeCategory.Any: return Incident.Primitive.IntegerBetween(1, 101); case HumanAgeCategory.Child: return Incident.Primitive.IntegerBetween(1, 13); case HumanAgeCategory.Teen: return Incident.Primitive.IntegerBetween(13, 20); case HumanAgeCategory.Senior: return Incident.Primitive.IntegerBetween(65, 101); default: // Adult is default return Incident.Primitive.IntegerBetween(18, 66); } }
public virtual DateTime Birthday(HumanAgeCategory ageCategory = HumanAgeCategory.Adult) { var newDate = new DateTime(DateTime.Now.Year - Age(ageCategory), 1, 1); var daysInYear = DateTime.IsLeapYear(newDate.Year) ? 366 : 365; return newDate.AddDays(Incident.Primitive.IntegerBetween(0, daysInYear)).Date; }