public void Constructs_with_negative_count_should_throw_exception() { var generator = new RandomStockStringGenerator { Values = new[] { "A", "B", "C", "D" }, Count = -1 }; Assert.Throws<GenerationException>(() => generator.Run().Cast<string>().ToArray()); }
public void Generate_sequence_ok() { var generator = new RandomStockStringGenerator { Values = new[] { "A", "B", "C", "D" }, Count = 8 }; var values = generator.Run().Cast<string>().ToArray(); Assert.Count(8, values); Assert.Multiple(() => { foreach (string value in values) { Assert.Contains<string>(new[] { "A", "B", "C", "D" }, value); } }); }
/// <summary> /// Returns an enumeration of random strings from a pre-existing stock of values. /// </summary> /// <param name="count">The number of strings to generate.</param> /// <param name="stock">A stock of preset values.</param> /// <param name="seed">A seed value to initialize the random number generator.</param> /// <returns>An enumeration of random string values.</returns> /// <exception cref="GenerationException">Thrown if the specified parameters are inconsistent or invalid.</exception> public static IEnumerable<string> Strings(int count, RandomStringStock stock, int seed) { var generator = new RandomStockStringGenerator { Count = count, Values = RandomStringStockInfo.FromStock(stock).GetItems(), Seed = seed, }; foreach (string value in generator.Run()) yield return value; }