static void Main() { Console.WriteLine("-------------Running stream pipeline Eagerly ------------------------------"); IEnumerator names = Queries4.Run().GetEnumerator(); // foreach(object l in names) Console.WriteLine(l); Console.ReadLine(); names.MoveNext(); Console.WriteLine("The first Student with D and number greater than 47000 is " + names.Current); Console.WriteLine("-------------Running stream pipeline Lazily ------------------------------"); names = Queries5.Run().GetEnumerator(); // foreach(object l in names) Console.WriteLine(l); Console.ReadLine(); names.MoveNext(); Console.WriteLine("The first Student with D and number greater than 47000 is " + names.Current); }
//maybe not in the spirit of test, but following requirements of the test private static World[] PopulateWorlds(int repeat, IServiceLocator locator, IRepository <World> repository) { var result = new World[repeat]; switch (repeat) { case 1: var id1 = Random.Next(1, 10000); result[0] = repository.Find(id1.ToString()); break; case 5: var q5 = new Queries5 { id1 = Random.Next(1, 10000), id2 = Random.Next(1, 10000), id3 = Random.Next(1, 10000), id4 = Random.Next(1, 10000), id5 = Random.Next(1, 10000), }; //execute 5 queries looking up ids on the server var r5 = q5.Populate(locator); result[0] = r5.world1; result[1] = r5.world2; result[2] = r5.world3; result[3] = r5.world4; result[4] = r5.world5; break; case 10: //execute 10 queries looking up ids on the server RunQueries10(locator, result, 0); break; case 15: //execute 15 queries looking up ids on the server RunQueries15(locator, result); break; case 20: //execute 2x10 queries looking up ids on the server RunQueries10(locator, result, 0); RunQueries10(locator, result, 10); break; default: int i = 0; for (; i < result.Length - 9; i += 10) { //execute 10 queries looking up ids on the server RunQueries10(locator, result, i); } //execute remaining queries for (; i < result.Length; i++) { var id = Random.Next(1, 10000); result[i] = repository.Find(id.ToString()); } break; } return(result); }