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;
        }