public static Settings Random() { Settings result = new Settings(); result.Date = DateTime.Now.Date; result.Indicator = RandomUtil.GetRandomAlpha(5); result.NumericIndicator = RandomUtil.GetRandomNumeric(5); result.StartPosition = RandomUtil.GetRandomAlpha(8); List <RotorName> rotors = RandomUtil.GetRandomEnumSequence <RotorName>(8); List <NotchRingName> notches = RandomUtil.GetRandomEnumSequence <NotchRingName>(8); for (int i = 0; i < 8; i++) { result.Rotors.Add(new RotorSetting { RotorName = rotors[i], NotchRingName = notches[i], AlphabetRingPosition = RandomUtil._rand.Next(36), NotchRingPosition = RandomUtil._rand.Next(36), ParentId = result.Id, ParentSettings = result }); } Machine m = new Machine(result); result.Check = m.Encipher(new string('L', 45)).Substring(35, 10); return(result); }