コード例 #1
0
 public virtual bool runTest()
 {
     int iCountErrors = 0;
     int iCountTestcases = 0;
     Console.Out.Write( strPath );
     Console.Out.Write( strTest );
     Console.Out.Write( ".cs" );
     Console.Out.WriteLine( " runTest() started..." );
     Hashtable hash = null;
     bool bRet = false;
     int ii;
     String strSecretID = null;
     Object objBogus = null;
     HashConfuse hshcnf1;
     HashConfuse hshcnf2;
     String strValue;
     ArrayList alst;
     Boolean fRetValue;
     Int32 iCount;
     Random rnd1;
     Int32 iElement;
     String [] strSuperHeroes =
     {
         "Captain Marvel" ,		
         "Batgirl" ,			
         "Nightwing" ,			
         "Green Lantern" ,		
         "Robin" ,				
         "Superman" ,			
         "Black Canary" ,		
         "Spiderman" ,			
         "Iron Man" ,			
         "Wonder Girl" ,		
         "Batman" ,				
         "Flash" ,				
         "Green Arrow" ,		
         "Atom" ,				
         "Steel" ,				
         "Powerman" ,			
     };
     String [] strSecretIdentities =
     {
         "Batson, Billy" ,		
         "Gordan, Barbara" ,	
         "Grayson, Dick" ,		
         "Jordan, Hal" ,		
         "Drake, Tim" ,			
         "Kent, Clark" ,		
         "Lance, Dinah" ,		
         "Parker, Peter" ,		
         "Stark, Tony" ,		
         "Troy, Donna" ,		
         "Wayne, Bruce" ,		
         "West, Wally" ,		
         "Queen, Oliver" ,		
         "Palmer, Ray" ,		
         "Irons, John Henry" ,	
         "Cage, Luke" ,			
     };
     do
     {
         iCountTestcases++;
         hash = new Hashtable();
         if ( hash == null )
         {
             Console.WriteLine( strTest+ "E_101" );
             Console.WriteLine( strTest+ "Hashtable creation error" );
             ++iCountErrors;
             break;
         }
         for ( ii = 0; ii < strSuperHeroes.Length; ++ii )
         {
             iCountTestcases++;
             try
             {
                 hash.Add( strSuperHeroes[ii], strSecretIdentities[ii] );
             }
             catch ( Exception ex )
             {
                 StringBuilder strInfo = new StringBuilder( "Remove: Add error " );
                 strInfo = strInfo.Append( "Unexpected exception on Item <" );
                 strInfo = strInfo.Append( "> " );
                 Console.WriteLine( strTest+ "E_303" );
                 Console.WriteLine( strTest+ strInfo.ToString() );
                 Console.WriteLine( strTest+ ex.ToString() );
                 ++iCountErrors;
                 break;
             }
         }
         iCountTestcases++;
         if ( hash.Count != strSuperHeroes.Length )
         {
             StringBuilder strInfo = new StringBuilder( "Remove: add error " );
             strInfo = strInfo.Append( "On Item <" + ii );
             strInfo = strInfo.Append( "> " );
             strInfo = strInfo.Append( "Expected Result = <" );
             strInfo = strInfo.Append( strSuperHeroes.Length.ToString() );
             strInfo = strInfo.Append( "> " );
             strInfo = strInfo.Append( "Returned Result = <" );
             strInfo = strInfo.Append( hash.Count.ToString() );
             strInfo = strInfo.Append( "> " );
             Console.WriteLine( strTest+ "E_404" );
             Console.WriteLine( strTest+ strInfo.ToString() );
             ++iCountErrors;
         }
         Console.Out.WriteLine( "Remove: Attempt to remove a bogus key entry from table" );
         try
         {
             iCountTestcases++;
             hash.Remove( "THIS IS A BOGUS KEY"  );
             if ( hash.Count != strSuperHeroes.Length )
             {
                 StringBuilder strInfo = new StringBuilder( "Remove error " );
                 strInfo = strInfo.Append( "Expected Result = <" );
                 strInfo = strInfo.Append( strSuperHeroes.Length.ToString() );
                 strInfo = strInfo.Append( "> " );
                 strInfo = strInfo.Append( "Returned Result = <" );
                 strInfo = strInfo.Append( hash.Count.ToString() );
                 strInfo = strInfo.Append( "> " );
                 Console.WriteLine( strTest+ "E_505" );
                 Console.WriteLine( strTest+ strInfo.ToString() );
                 ++iCountErrors;
             }
         }
         catch ( Exception ex )
         {
             StringBuilder strInfo = new StringBuilder( "Remove error " );
             strInfo = strInfo.Append( "Unexpected exception <" );
             strInfo = strInfo.Append( "> " );
             Console.WriteLine( strTest+ "E_606" );
             Console.WriteLine( strTest+ strInfo.ToString() );
             Console.WriteLine( strTest+ ex.ToString() );
             ++iCountErrors;
         }
         iCountTestcases++;
         Console.Out.WriteLine( "Remove: Attempt to remove a null key entry from table" );
         try
         {
             hash.Remove( null );
             Console.WriteLine( strTest+ "E_707" );
             Console.WriteLine( strTest+ "Remove error: ArgumentException expected" );
             ++iCountErrors;
         }
         catch ( ArgumentException ex )
         {
             Console.Out.WriteLine( "ArgumentException caught" );
         }
         catch ( Exception ex )
         {
             StringBuilder strInfo = new StringBuilder( "Remove error " );
             strInfo = strInfo.Append( "Generic exception caught:" );
             strInfo = strInfo.Append( ex.ToString() );
             Console.WriteLine( strTest+ "E_808" );
             Console.WriteLine( strTest+ strInfo.ToString() );
             ++iCountErrors;
         }
         Console.Out.WriteLine( "Remove: Add key/value pair to Hashtable and remove items" );
         for ( ii = 0; ii < strSuperHeroes.Length; ++ii )
         {
             iCountTestcases++;
             try
             {
                 hash.Remove( strSuperHeroes[ii] );
                 if ( hash.Count != strSuperHeroes.Length - ii - 1 )
                 {
                     StringBuilder strInfo = new StringBuilder( "Remove error " );
                     strInfo = strInfo.Append( "On Item <" + ii );
                     strInfo = strInfo.Append( "> " );
                     strInfo = strInfo.Append( "Expected Result = <" );
                     strInfo = strInfo.Append( (strSuperHeroes.Length - ii - 1).ToString() );
                     strInfo = strInfo.Append( "> " );
                     strInfo = strInfo.Append( "Returned Result = <" );
                     strInfo = strInfo.Append( hash.Count.ToString() );
                     strInfo = strInfo.Append( "> " );
                     Console.WriteLine( strTest+ "E_1010" );
                     Console.WriteLine( strTest+ strInfo.ToString() );
                     ++iCountErrors;
                     break;
                 }
             }
             catch ( Exception ex )
             {
                 StringBuilder strInfo = new StringBuilder( "Remove error " );
                 strInfo = strInfo.Append( "Unexpected exception on Item <" );
                 strInfo = strInfo.Append( "> " );
                 Console.WriteLine( strTest+ "E_1111" );
                 Console.WriteLine( strTest+ strInfo.ToString() );
                 Console.WriteLine( strTest+ ex.ToString() );
                 ++iCountErrors;
                 break;
             }
         }
         hash = new Hashtable();
         alst = new ArrayList();
         for(int i=0; i<7; i++)
         {
             strValue = "Test_" + i;
             hshcnf1 = new HashConfuse(strValue);
             alst.Add(hshcnf1);
             hash.Add(hshcnf1, strValue);
         }
         fRetValue = true;
         iCount = 7;
         rnd1 = new Random();
         iCountTestcases++;
         for(int i=0; i<100; i++)
         {
             for(int j=0; j<7; j++)
             {
                 if(!((String)hash[alst[j]]).Equals(((HashConfuse)alst[j]).Word))
                 {
                     fRetValue = false;
                 }
             }
             for(int j=0; j<3; j++)
             {
                 iElement = rnd1.Next(6);
                 hash.Remove(alst[iElement]);
                 alst.RemoveAt(iElement);
                 strValue = "Test_" + iCount++;
                 hshcnf1 = new HashConfuse(strValue);
                 alst.Add(hshcnf1);
                 hash.Add(hshcnf1, strValue);
             }
         }
         if(!fRetValue)
         {
             Console.WriteLine("Something wrong somewhere");
             iCountErrors++;
         }
     }
     while ( false );
     Console.Error.Write( strName );
     Console.Error.Write( ": " );
     if ( iCountErrors == 0 )
     {
         Console.Error.Write( strTest );
         Console.Error.WriteLine( " paSs, iCountTestcases==" + iCountTestcases);
         return true;
     }
     else
     {
         System.String strFailMsg = null;
         Console.WriteLine( strTest+ strPath );
         Console.WriteLine( strTest+ "FAiL" );
         Console.Error.Write( strTest );
         Console.Error.Write( " iCountErrors==" );
         Console.Error.WriteLine( iCountErrors );
         return false;
     }
 }
コード例 #2
0
    public virtual bool runTest()
    {
        int iCountErrors    = 0;
        int iCountTestcases = 0;

        Console.Out.Write(strPath);
        Console.Out.Write(strTest);
        Console.Out.Write(".cs");
        Console.Out.WriteLine(" runTest() started...");
        Hashtable   hash = null;
        bool        bRet = false;
        int         ii;
        String      strSecretID = null;
        Object      objBogus    = null;
        HashConfuse hshcnf1;
        HashConfuse hshcnf2;
        String      strValue;
        ArrayList   alst;
        Boolean     fRetValue;
        Int32       iCount;
        Random      rnd1;
        Int32       iElement;

        String [] strSuperHeroes =
        {
            "Captain Marvel",
            "Batgirl",
            "Nightwing",
            "Green Lantern",
            "Robin",
            "Superman",
            "Black Canary",
            "Spiderman",
            "Iron Man",
            "Wonder Girl",
            "Batman",
            "Flash",
            "Green Arrow",
            "Atom",
            "Steel",
            "Powerman",
        };
        String [] strSecretIdentities =
        {
            "Batson, Billy",
            "Gordan, Barbara",
            "Grayson, Dick",
            "Jordan, Hal",
            "Drake, Tim",
            "Kent, Clark",
            "Lance, Dinah",
            "Parker, Peter",
            "Stark, Tony",
            "Troy, Donna",
            "Wayne, Bruce",
            "West, Wally",
            "Queen, Oliver",
            "Palmer, Ray",
            "Irons, John Henry",
            "Cage, Luke",
        };
        do
        {
            iCountTestcases++;
            hash = new Hashtable();
            if (hash == null)
            {
                Console.WriteLine(strTest + "E_101");
                Console.WriteLine(strTest + "Hashtable creation error");
                ++iCountErrors;
                break;
            }
            for (ii = 0; ii < strSuperHeroes.Length; ++ii)
            {
                iCountTestcases++;
                try
                {
                    hash.Add(strSuperHeroes[ii], strSecretIdentities[ii]);
                }
                catch (Exception ex)
                {
                    StringBuilder strInfo = new StringBuilder("Remove: Add error ");
                    strInfo = strInfo.Append("Unexpected exception on Item <");
                    strInfo = strInfo.Append("> ");
                    Console.WriteLine(strTest + "E_303");
                    Console.WriteLine(strTest + strInfo.ToString());
                    Console.WriteLine(strTest + ex.ToString());
                    ++iCountErrors;
                    break;
                }
            }
            iCountTestcases++;
            if (hash.Count != strSuperHeroes.Length)
            {
                StringBuilder strInfo = new StringBuilder("Remove: add error ");
                strInfo = strInfo.Append("On Item <" + ii);
                strInfo = strInfo.Append("> ");
                strInfo = strInfo.Append("Expected Result = <");
                strInfo = strInfo.Append(strSuperHeroes.Length.ToString());
                strInfo = strInfo.Append("> ");
                strInfo = strInfo.Append("Returned Result = <");
                strInfo = strInfo.Append(hash.Count.ToString());
                strInfo = strInfo.Append("> ");
                Console.WriteLine(strTest + "E_404");
                Console.WriteLine(strTest + strInfo.ToString());
                ++iCountErrors;
            }
            Console.Out.WriteLine("Remove: Attempt to remove a bogus key entry from table");
            try
            {
                iCountTestcases++;
                hash.Remove("THIS IS A BOGUS KEY");
                if (hash.Count != strSuperHeroes.Length)
                {
                    StringBuilder strInfo = new StringBuilder("Remove error ");
                    strInfo = strInfo.Append("Expected Result = <");
                    strInfo = strInfo.Append(strSuperHeroes.Length.ToString());
                    strInfo = strInfo.Append("> ");
                    strInfo = strInfo.Append("Returned Result = <");
                    strInfo = strInfo.Append(hash.Count.ToString());
                    strInfo = strInfo.Append("> ");
                    Console.WriteLine(strTest + "E_505");
                    Console.WriteLine(strTest + strInfo.ToString());
                    ++iCountErrors;
                }
            }
            catch (Exception ex)
            {
                StringBuilder strInfo = new StringBuilder("Remove error ");
                strInfo = strInfo.Append("Unexpected exception <");
                strInfo = strInfo.Append("> ");
                Console.WriteLine(strTest + "E_606");
                Console.WriteLine(strTest + strInfo.ToString());
                Console.WriteLine(strTest + ex.ToString());
                ++iCountErrors;
            }
            iCountTestcases++;
            Console.Out.WriteLine("Remove: Attempt to remove a null key entry from table");
            try
            {
                hash.Remove(null);
                Console.WriteLine(strTest + "E_707");
                Console.WriteLine(strTest + "Remove error: ArgumentException expected");
                ++iCountErrors;
            }
            catch (ArgumentException ex)
            {
                Console.Out.WriteLine("ArgumentException caught");
            }
            catch (Exception ex)
            {
                StringBuilder strInfo = new StringBuilder("Remove error ");
                strInfo = strInfo.Append("Generic exception caught:");
                strInfo = strInfo.Append(ex.ToString());
                Console.WriteLine(strTest + "E_808");
                Console.WriteLine(strTest + strInfo.ToString());
                ++iCountErrors;
            }
            Console.Out.WriteLine("Remove: Add key/value pair to Hashtable and remove items");
            for (ii = 0; ii < strSuperHeroes.Length; ++ii)
            {
                iCountTestcases++;
                try
                {
                    hash.Remove(strSuperHeroes[ii]);
                    if (hash.Count != strSuperHeroes.Length - ii - 1)
                    {
                        StringBuilder strInfo = new StringBuilder("Remove error ");
                        strInfo = strInfo.Append("On Item <" + ii);
                        strInfo = strInfo.Append("> ");
                        strInfo = strInfo.Append("Expected Result = <");
                        strInfo = strInfo.Append((strSuperHeroes.Length - ii - 1).ToString());
                        strInfo = strInfo.Append("> ");
                        strInfo = strInfo.Append("Returned Result = <");
                        strInfo = strInfo.Append(hash.Count.ToString());
                        strInfo = strInfo.Append("> ");
                        Console.WriteLine(strTest + "E_1010");
                        Console.WriteLine(strTest + strInfo.ToString());
                        ++iCountErrors;
                        break;
                    }
                }
                catch (Exception ex)
                {
                    StringBuilder strInfo = new StringBuilder("Remove error ");
                    strInfo = strInfo.Append("Unexpected exception on Item <");
                    strInfo = strInfo.Append("> ");
                    Console.WriteLine(strTest + "E_1111");
                    Console.WriteLine(strTest + strInfo.ToString());
                    Console.WriteLine(strTest + ex.ToString());
                    ++iCountErrors;
                    break;
                }
            }
            hash = new Hashtable();
            alst = new ArrayList();
            for (int i = 0; i < 7; i++)
            {
                strValue = "Test_" + i;
                hshcnf1  = new HashConfuse(strValue);
                alst.Add(hshcnf1);
                hash.Add(hshcnf1, strValue);
            }
            fRetValue = true;
            iCount    = 7;
            rnd1      = new Random();
            iCountTestcases++;
            for (int i = 0; i < 100; i++)
            {
                for (int j = 0; j < 7; j++)
                {
                    if (!((String)hash[alst[j]]).Equals(((HashConfuse)alst[j]).Word))
                    {
                        fRetValue = false;
                    }
                }
                for (int j = 0; j < 3; j++)
                {
                    iElement = rnd1.Next(6);
                    hash.Remove(alst[iElement]);
                    alst.RemoveAt(iElement);
                    strValue = "Test_" + iCount++;
                    hshcnf1  = new HashConfuse(strValue);
                    alst.Add(hshcnf1);
                    hash.Add(hshcnf1, strValue);
                }
            }
            if (!fRetValue)
            {
                Console.WriteLine("Something wrong somewhere");
                iCountErrors++;
            }
        }while (false);
        Console.Error.Write(strName);
        Console.Error.Write(": ");
        if (iCountErrors == 0)
        {
            Console.Error.Write(strTest);
            Console.Error.WriteLine(" paSs, iCountTestcases==" + iCountTestcases);
            return(true);
        }
        else
        {
            System.String strFailMsg = null;
            Console.WriteLine(strTest + strPath);
            Console.WriteLine(strTest + "FAiL");
            Console.Error.Write(strTest);
            Console.Error.Write(" iCountErrors==");
            Console.Error.WriteLine(iCountErrors);
            return(false);
        }
    }