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);
    }
Example #2
0
        //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);
        }