public override void Setup() { base.Setup(); myEnumerable = Mockery.NewInstanceOfRole<IMyEnumerable>(); data = new[] {"a", "b", "c", "d", "e"}; Stub.On(myEnumerable).Message("GetEnumerator").WithNoArguments().Will(new CallGetEnumeratorAction(data)); }
public static void AreCollectionSame(TestItem[] expected, IMyEnumerable <TestItem> actual) { int count = 0; foreach (var item in actual) { count++; Assert.That(expected.Contains(item)); } Assert.AreEqual(expected.Length, count); }
public static IEnumerable <TResult> Select <TSource, TResult>(this IMyEnumerable <TSource> list, Func <TSource, TResult> selector) { if (selector == null) { throw new ArgumentNullException(nameof(selector)); } //Create a function that just discards the index and calls the selector Func <TSource, int, TResult> selectWithIterator = (i, n) => selector(i); return(Select(list, selectWithIterator)); }
public void Foreach(ForeachScenario scenario) { IMyEnumerable <TestItem> list = scenario.List; int output = 0; foreach (TestItem item in list) { output += item.IntValue; } Assert.AreEqual(scenario.ExpectedOutput, output); }
public static IEnumerable <TResult> Select <TSource, TResult>(this IMyEnumerable <TSource> list, Func <TSource, int, TResult> selector) { if (list == null) { throw new ArgumentNullException(nameof(list)); } if (selector == null) { throw new ArgumentNullException(nameof(selector)); } int i = 0; foreach (TSource element in list) { yield return(selector(element, i)); i++; } }
static void Main(string[] args) { Aggregation aggregation = new Aggregation(); aggregation.Add(1); aggregation.Add(3); aggregation.Add(5); IMyEnumerable myEnumerable = aggregation.GetEnumerable(); while (myEnumerable.MoveNext()) { Console.Write($"{myEnumerable.Current} "); } Console.WriteLine(); while (myEnumerable.MoveNext()) { Console.Write($"{myEnumerable.Current} "); } Console.WriteLine(); Demo(); Console.ReadKey(); }