Home | History | Annotate | Download | only in io
      1 /*
      2  *  Licensed to the Apache Software Foundation (ASF) under one or more
      3  *  contributor license agreements.  See the NOTICE file distributed with
      4  *  this work for additional information regarding copyright ownership.
      5  *  The ASF licenses this file to You under the Apache License, Version 2.0
      6  *  (the "License"); you may not use this file except in compliance with
      7  *  the License.  You may obtain a copy of the License at
      8  *
      9  *     http://www.apache.org/licenses/LICENSE-2.0
     10  *
     11  *  Unless required by applicable law or agreed to in writing, software
     12  *  distributed under the License is distributed on an "AS IS" BASIS,
     13  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     14  *  See the License for the specific language governing permissions and
     15  *  limitations under the License.
     16  */
     17 
     18 package org.apache.harmony.tests.java.io;
     19 
     20 import java.io.BufferedWriter;
     21 import java.io.File;
     22 import java.io.FileInputStream;
     23 import java.io.FileReader;
     24 import java.io.FileWriter;
     25 import java.io.IOException;
     26 
     27 import junit.framework.TestCase;
     28 
     29 public class FileReaderTest extends TestCase {
     30 
     31     FileReader br;
     32 
     33     BufferedWriter bw;
     34 
     35     FileInputStream fis;
     36 
     37     File f;
     38 
     39     /**
     40      * java.io.FileReader#FileReader(java.io.File)
     41      */
     42     public void test_ConstructorLjava_io_File() throws IOException {
     43         bw = new BufferedWriter(new FileWriter(f.getPath()));
     44         bw.write(" After test string", 0, 18);
     45         bw.close();
     46         br = new FileReader(f);
     47         char[] buf = new char[100];
     48         int r = br.read(buf);
     49         br.close();
     50         assertEquals("Failed to read correct chars", " After test string",
     51                 new String(buf, 0, r));
     52     }
     53 
     54     /**
     55      * java.io.FileReader#FileReader(java.io.FileDescriptor)
     56      */
     57     public void test_ConstructorLjava_io_FileDescriptor() throws IOException {
     58         bw = new BufferedWriter(new FileWriter(f.getPath()));
     59         bw.write(" After test string", 0, 18);
     60         bw.close();
     61         FileInputStream fis = new FileInputStream(f.getPath());
     62         br = new FileReader(fis.getFD());
     63         char[] buf = new char[100];
     64         int r = br.read(buf);
     65         br.close();
     66         fis.close();
     67         assertEquals("Failed to read correct chars", " After test string",
     68                 new String(buf, 0, r));
     69     }
     70 
     71     /**
     72      * java.io.FileReader#FileReader(java.lang.String)
     73      */
     74     public void test_ConstructorLjava_lang_String() throws IOException {
     75         bw = new BufferedWriter(new FileWriter(f.getPath()));
     76         bw.write(" After test string", 0, 18);
     77         bw.close();
     78         br = new FileReader(f.getPath());
     79         char[] buf = new char[100];
     80         int r = br.read(buf);
     81         br.close();
     82         assertEquals("Failed to read correct chars", " After test string",
     83                 new String(buf, 0, r));
     84     }
     85 
     86     /**
     87      * Sets up the fixture, for example, open a network connection. This method
     88      * is called before a test is executed.
     89      */
     90     protected void setUp() throws IOException {
     91         f = File.createTempFile("FileReaderTest", "tst");
     92     }
     93 
     94     /**
     95      * Tears down the fixture, for example, close a network connection. This
     96      * method is called after a test is executed.
     97      */
     98     protected void tearDown() {
     99         try {
    100             bw.close();
    101         } catch (Exception e) {
    102             // Ignore
    103         }
    104         try {
    105             br.close();
    106         } catch (Exception e) {
    107             // Ignore
    108         }
    109         try {
    110             if (fis != null) {
    111                 fis.close();
    112             }
    113         } catch (Exception e) {
    114             // Ignore
    115         }
    116         f.delete();
    117     }
    118 }
    119