Changeset 2062


Ignore:
Timestamp:
01/10/07 13:44:54 (13 years ago)
Author:
nor
Message:

Add test method

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/loci/formats/Base64Encoder.java

    r2061 r2062  
    2424 
    2525package loci.formats; 
     26 
     27import java.util.Random; 
    2628 
    2729/** 
     
    269271    return decompress(base64Data); 
    270272  } 
     273   
     274    /** 
     275   * Main testing method. 
     276   * 
     277   * @param args ignored 
     278   * @throws FormatException Can only occur if there is a bug in the 
     279   *                         compress method. 
     280   */ 
     281  public static void main(String[] args) throws FormatException { 
     282    byte[] testdata = new byte[50000]; 
     283    Random r = new Random(); 
     284    System.out.println("Generating random data"); 
     285    r.nextBytes(testdata); 
     286    Base64Encoder c = new Base64Encoder(); 
     287    System.out.println("Compressing data"); 
     288    byte[] compressed = c.compress(testdata, null, null); 
     289    System.out.println("Decompressing data"); 
     290    byte[] decompressed = c.decompress(compressed); 
     291    System.out.print("Comparing data... "); 
     292    if(testdata.length != decompressed.length) { 
     293      System.out.println("Test data differs in length from uncompressed data"); 
     294      System.out.println("Exiting..."); 
     295      System.exit(-1); 
     296    } 
     297    else { 
     298      boolean equalsFlag = true; 
     299      for(int i = 0; i < testdata.length; i++) { 
     300        if(testdata[i] != decompressed[i]) { 
     301          System.out.println("Test data and uncompressed data differs at byte" + 
     302                             i); 
     303          equalsFlag = false; 
     304        } 
     305      } 
     306      if(!equalsFlag) { 
     307        System.out.println("Comparison failed. \nExiting..."); 
     308        System.exit(-1); 
     309      } 
     310    } 
     311    System.out.println("Success."); 
     312    System.out.println("Generating 2D byte array test"); 
     313    byte[][] twoDtest = new byte[100][500]; 
     314    for(int i = 0; i < 100; i++) { 
     315      System.arraycopy(testdata, 500*i, twoDtest[i], 0, 500); 
     316    } 
     317    byte[] twoDcompressed = c.compress(twoDtest, null, null); 
     318    System.out.print("Comparing compressed data... "); 
     319    if(twoDcompressed.length != compressed.length) { 
     320      System.out.println("1D and 2D compressed data not same length"); 
     321      System.out.println("Exiting..."); 
     322      System.exit(-1); 
     323    } 
     324    boolean equalsFlag = true; 
     325    for(int i = 0; i < twoDcompressed.length; i++) { 
     326      if(twoDcompressed[i] != compressed[i]) { 
     327        System.out.println("1D data and 2D compressed data differs at byte" + 
     328                           i); 
     329        equalsFlag = false; 
     330      } 
     331      if(!equalsFlag) { 
     332        System.out.println("Comparison failed. \nExiting..."); 
     333        System.exit(-1); 
     334      } 
     335    } 
     336    System.out.println("Success."); 
     337    System.out.println("Test complete"); 
     338  } 
     339   
    271340} 
Note: See TracChangeset for help on using the changeset viewer.