範囲を折りたたむためのアルゴリズムについての質問で得たさまざまな答えをテストできると考えていました。そのため、一連の範囲全体を作成するメソッドを作成し、さまざまなメソッドがそれをどのように処理するかを確認する必要があると考えていました。
しかし、ランダムなものを生成することになると、私はあまり良くありません。私はこのようなものを作成しました:
private static IEnumerable<Range<int>> GenerateRanges()
{
var r = new Random();
var n = 10000;
while(--n >= 0)
{
var start = r.Next(10000);
var end = r.Next(10000);
if (end < start)
Swap(ref start, ref end);
yield return Range.Create(start, end);
}
}
これはもちろん多くの範囲を作成しますが、それらを折りたたんだ後は常に1つの範囲しか得られないため、特に興味深い結果は得られません。より興味深い範囲を作成するにはどうすればよいですか?