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