private static void TestSearchOptionOutOfRangeFast(EnumerableUtils.GetFSEsFast2 fseMethod, String methodName)
        {
            int    failCount = 0;
            String chkptFlag = "chkpt_soorf_";

            try
            {
                IEnumerable <String> dirs1 = fseMethod(s_utils.testDir, "*", (SearchOption)5);
                Console.WriteLine(chkptFlag + "1: didn't throw");
                failCount++;
            }
            catch (ArgumentOutOfRangeException) { } // expected
            catch (Exception e)
            {
                failCount++;
                Console.WriteLine(chkptFlag + "2: threw wrong exception");
                Console.WriteLine(e);
            }

            s_utils.PrintTestStatus("TestSearchOptionOutOfRangeFast", methodName, failCount);
        }
        private static void TestWeirdPathFast(String path, String pathDescription, Exception expectedException, EnumerableUtils.GetFSEsFast0 fseMethod0, EnumerableUtils.GetFSEsFast1 fseMethod1, EnumerableUtils.GetFSEsFast2 fseMethod2, String methodName)
        {
            int    failCount = 0;
            String chkptFlag = "chkpt_wpf_";

            try
            {
                IEnumerable <String> dirs1 = fseMethod0(path);
                Console.WriteLine(chkptFlag + "1: didn't throw");
                failCount++;
            }
            catch (Exception e)
            {
                if (e.GetType() != expectedException.GetType())
                {
                    failCount++;
                    Console.WriteLine(chkptFlag + "2: threw wrong exception");
                    Console.WriteLine(e);
                }
            }


            try
            {
                IEnumerable <String> dirs1 = fseMethod1(path, "*");
                Console.WriteLine(chkptFlag + "3: didn't throw");
                failCount++;
            }
            catch (Exception e)
            {
                if (e.GetType() != expectedException.GetType())
                {
                    failCount++;
                    Console.WriteLine(chkptFlag + "4: threw wrong exception");
                    Console.WriteLine(e);
                }
            }

            if (fseMethod2 != null)
            {
                try
                {
                    IEnumerable <String> dirs2 = fseMethod2(path, "*", SearchOption.AllDirectories);
                    Console.WriteLine(chkptFlag + "5: didn't throw");
                    failCount++;
                }
                catch (Exception e)
                {
                    if (e.GetType() != expectedException.GetType())
                    {
                        failCount++;
                        Console.WriteLine(chkptFlag + "6: threw wrong exception");
                        Console.WriteLine(e);
                    }
                }
            }

            String testName = String.Format("TestWeirdPathFast({0})", pathDescription);

            s_utils.PrintTestStatus(testName, methodName, failCount);
        }