1f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project/* 2f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Licensed to the Apache Software Foundation (ASF) under one or more 3f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * contributor license agreements. See the NOTICE file distributed with 4f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * this work for additional information regarding copyright ownership. 5f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * The ASF licenses this file to You under the Apache License, Version 2.0 6f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * (the "License"); you may not use this file except in compliance with 7f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * the License. You may obtain a copy of the License at 8f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * 9f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 10f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * 11f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Unless required by applicable law or agreed to in writing, software 12f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 13f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * See the License for the specific language governing permissions and 15f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * limitations under the License. 16f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 17f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 18f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectpackage tests.api.java.io; 19f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 20f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.io.BufferedWriter; 21f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.io.File; 22f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.io.FileInputStream; 23f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.io.FileNotFoundException; 24f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.io.FileReader; 25f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.io.FileWriter; 26f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 27f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport dalvik.annotation.TestLevel; 28f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport dalvik.annotation.TestTargetClass; 29f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport dalvik.annotation.TestTargetNew; 30f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 31f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project@TestTargetClass(FileReader.class) 32f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectpublic class FileReaderTest extends junit.framework.TestCase { 33f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 34f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project FileReader br; 35f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 36f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project BufferedWriter bw; 37f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 38f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project FileInputStream fis; 39f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 40f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project File f; 41f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 42f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 43f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.io.FileReader#FileReader(java.io.File) 44f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 45f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 46f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 47f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "FileReader", 48f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {java.io.File.class} 49f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 50f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_ConstructorLjava_io_File() { 51f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method java.io.FileReader(java.io.File) 52f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 53f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project bw = new BufferedWriter(new FileWriter(f.getPath())); 54f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project bw.write(" After test string", 0, 18); 55f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project bw.close(); 56f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project br = new FileReader(f); 57f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project char[] buf = new char[100]; 58f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project int r = br.read(buf); 59f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project br.close(); 60f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Test 1: Failed to read correct chars", 61f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project " After test string", new String(buf, 0, r)); 62f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (Exception e) { 63f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("Exception during Constructor test " + e.toString()); 64f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 65f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 66f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project File noFile = new File(System.getProperty("java.io.tmpdir"), "noreader.tst"); 67f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 68f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project br = new FileReader(noFile); 69f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("Test 2: FileNotFoundException expected."); 70f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (FileNotFoundException e) { 71f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Expected. 72f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 73f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 74f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 75f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 76f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.io.FileReader#FileReader(java.io.FileDescriptor) 77f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 78f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 79f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 80f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "Verifies FileReader(java.io.FileDescriptor) constructor.", 81f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "FileReader", 82f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {java.io.FileDescriptor.class} 83f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 84f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_ConstructorLjava_io_FileDescriptor() { 85f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method java.io.FileReader(java.io.FileDescriptor) 86f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 87f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project bw = new BufferedWriter(new FileWriter(f.getPath())); 88f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project bw.write(" After test string", 0, 18); 89f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project bw.close(); 90f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project FileInputStream fis = new FileInputStream(f.getPath()); 91f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project br = new FileReader(fis.getFD()); 92f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project char[] buf = new char[100]; 93f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project int r = br.read(buf); 94f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project br.close(); 95f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fis.close(); 96f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Failed to read correct chars", 97f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project " After test string", new String(buf, 0, r)); 98f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (Exception e) { 99f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("Exception during Constructor test " + e.toString()); 100f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 101f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 102f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 103f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 104f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.io.FileReader#FileReader(java.lang.String) 105f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 106f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 107f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 108f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "FileReader", 109f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {java.lang.String.class} 110f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 111f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_ConstructorLjava_lang_String() { 112f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method java.io.FileReader(java.lang.String) 113f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 114f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project bw = new BufferedWriter(new FileWriter(f.getPath())); 115f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project bw.write(" After test string", 0, 18); 116f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project bw.close(); 117f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project br = new FileReader(f.getPath()); 118f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project char[] buf = new char[100]; 119f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project int r = br.read(buf); 120f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project br.close(); 121f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Test 1: Failed to read correct chars", 122f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project " After test string", new String(buf, 0, r)); 123f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (Exception e) { 124f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("Exception during Constructor test " + e.toString()); 125f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 126f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 127f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 128f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project br = new FileReader(System.getProperty("java.io.tmpdir") + "/noreader.tst"); 129f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("Test 2: FileNotFoundException expected."); 130f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (FileNotFoundException e) { 131f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Expected. 132f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 133f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 134f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 135f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 136f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Sets up the fixture, for example, open a network connection. This method 137f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * is called before a test is executed. 138f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 139f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project protected void setUp() { 140f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 141f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project f = new File(System.getProperty("java.io.tmpdir"), "reader.tst"); 142f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 143f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project if (f.exists()) { 144f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project if (!f.delete()) { 145f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("Unable to delete test file"); 146f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 147f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 148f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 149f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 150f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 151f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Tears down the fixture, for example, close a network connection. This 152f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * method is called after a test is executed. 153f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 154f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project protected void tearDown() { 155f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 156f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 157f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project bw.close(); 158f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project br.close(); 159f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (Exception e) { 160f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 161f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 162f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 163f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project if (fis != null) 164f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fis.close(); 165f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (Exception e) { 166f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 167f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project f.delete(); 168f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 169f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project} 170