/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package junitExam; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.FileReader; import java.io.IOException; import java.util.ArrayList; import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; import junit.framework.TestCase; /** * * @author
*/ public class FileReaderTester extends TestCase{ /** * A constructor is required here! * @param name */ public FileReaderTester(String name){ super(name); } private FileReader _input; private FileReader _empty; int [] a; /** * Create objects. */ @Override protected void setUp(){ try{ _input = new FileReader("E:/data.txt"); _empty = newEmptyFile(); //Collections.unmodifiableSet(s); } catch (FileNotFoundException e){ throw new RuntimeException("unable to open test file"); } catch (IOException ex) { Logger.getLogger(FileReaderTester.class.getName()).log(Level.SEVERE, null, ex); } } /** * Remove objects. */ @Override protected void tearDown(){ try{ _input.close(); } catch (IOException e){ throw new RuntimeException("error on closing test file"); } } public void testRead() throws IOException { char ch = '&'; //_input.close(); for(int i = 0;i < 4;i++){ ch = (char) _input.read(); //System.out.println(ch); assert('d' == ch);//鍙鏈夊氨瀵广€? //assertEquals('B',ch);//match fist 4 characters. } } public void testReadAtEnd() throws IOException{ int ch = -1234; for(int i = 1;i < 140;i++) { ch = _input.read(); System.out.println("testReadAtEnd"); System.out.println(ch); assertEquals("read at end",-1,_input.read()); } } public void testReadBoundaries() throws IOException{ assertEquals("read first char",'B',_input.read()); int ch ; for(int i = 1;i < 140;i++) { ch = _input.read(); System.out.println("testReadBoundaries"); System.out.println(ch); assertEquals("read last char",'6',_input.read()); assertEquals("read at end",-1,_input.read()); assertEquals("read past end",-1,_input.read()); } } public void testReadAfterClose() throws IOException { _input.close(); try { _input.read(); //IOException涔嬪鐨勪换浣曞紓甯搁兘灏嗕互涓€鑸柟寮忓舰鎴愪竴涓敊璇€? fail ("no exception for read past end"); } catch (IOException io) {} } private FileReader newEmptyFile() throws FileNotFoundException, IOException { File empty = new File ("empty.txt"); FileOutputStream out = new FileOutputStream(empty); out.close(); return new FileReader(empty); } public void tesEmptyRead() throws IOException{ assertEquals(-1,_input.read()); } //convert array to list List _skill = new ArrayList(); String [] getSkills(){ return (String[]) _skill.toArray(new String[0]); } void setSkill(int index,String newSkill){ _skill.set(index, newSkill); } }