View Javadoc

1   /*
2    *  jDTAUS Core Utilities
3    *  Copyright (C) 2005 Christian Schulte
4    *  <cs@schulte.it>
5    *
6    *  This library is free software; you can redistribute it and/or
7    *  modify it under the terms of the GNU Lesser General Public
8    *  License as published by the Free Software Foundation; either
9    *  version 2.1 of the License, or any later version.
10   *
11   *  This library is distributed in the hope that it will be useful,
12   *  but WITHOUT ANY WARRANTY; without even the implied warranty of
13   *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14   *  Lesser General Public License for more details.
15   *
16   *  You should have received a copy of the GNU Lesser General Public
17   *  License along with this library; if not, write to the Free Software
18   *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
19   *
20   */
21  package org.jdtaus.core.io.util.test;
22  
23  import java.io.IOException;
24  import org.jdtaus.core.io.StructuredFile;
25  import org.jdtaus.core.io.it.StructuredFileTest;
26  import org.jdtaus.core.io.util.MemoryFileOperations;
27  import org.jdtaus.core.io.util.ReadAheadFileOperations;
28  import org.jdtaus.core.io.util.StructuredFileOperations;
29  
30  /**
31   * Testcase for {@code StructuredFileOperations} implementations.
32   *
33   * @author <a href="mailto:cs@schulte.it">Christian Schulte</a>
34   * @version $JDTAUS: StructuredFileOperationsReadAheadUnevenTest.java 8641 2012-09-27 06:45:17Z schulte $
35   */
36  public class StructuredFileOperationsReadAheadUnevenTest
37      extends StructuredFileTest
38  {
39      //--StructuredFileTest------------------------------------------------------
40  
41      /** {@code FileOperations} backing the {@code StructuredFile}. */
42      private final MemoryFileOperations memOps = new MemoryFileOperations();
43  
44      /** {@code StructuredFile} implementation being tested. */
45      private StructuredFileOperations structuredFile;
46  
47      protected byte[] getStructuredData()
48      {
49          try
50          {
51              this.structuredFile.flush();
52              return this.memOps.getData();
53          }
54          catch ( IOException e )
55          {
56              throw new AssertionError( e );
57          }
58      }
59  
60      protected StructuredFile getStructuredFile()
61      {
62          try
63          {
64              if ( this.structuredFile == null )
65              {
66                  this.structuredFile = new StructuredFileOperations(
67                      StructuredFileTest.BLOCK_SIZE,
68                      new ReadAheadFileOperations( this.memOps, 3 ) );
69  
70              }
71  
72              return this.structuredFile;
73          }
74          catch ( IOException e )
75          {
76              throw new AssertionError( e );
77          }
78      }
79  
80      //------------------------------------------------------StructuredFileTest--
81  }