public void CycleWorks() { var enm = Enumerable.Cycle("a", "b", "c"); var result = new List <string>(); foreach (var x in enm) { result.Add(x); if (result.Count >= 10) { break; } } Assert.AreEqual(result, new[] { "a", "b", "c", "a", "b", "c", "a", "b", "c", "a" }); }