Mercurial > hg > y16 > e165759 > os > 2.2
changeset 2:a064f3d39dda
Add getopts and FileWriteTest, Fix build.gradle.
author | Hiroyuki Tamae <e165759@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 07 Nov 2017 16:57:32 +0900 |
parents | 8efe825340e8 |
children | aaba9f20bc54 |
files | build.gradle src/main/java/jp/ac/uryukyu/ie/e165759/FileWrite.java src/test/java/jp/ac/uryukyu/ie/e165759/FileWriteTest.java |
diffstat | 3 files changed, 98 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/build.gradle Sun Nov 05 16:29:06 2017 +0900 +++ b/build.gradle Tue Nov 07 16:57:32 2017 +0900 @@ -2,15 +2,29 @@ version '1.0-SNAPSHOT' apply plugin: 'java' +apply plugin: 'org.junit.platform.gradle.plugin' +//sourceCompatibility = 1.9 -sourceCompatibility = 1.9 +defaultTasks 'test' + +buildscript { + repositories { + mavenCentral() + } + dependencies { + classpath 'org.junit.platform:junit-platform-gradle-plugin:1.0.1' + } +} repositories { mavenCentral() } dependencies { - testCompile group: 'junit', name: 'junit', version: '4.12' + //testCompile group: 'junit', name: 'junit', version: '5.0-SNAPSHOT' + testCompile("org.junit.jupiter:junit-jupiter-api:5.0.1") + testRuntime("org.junit.jupiter:junit-jupiter-engine:5.0.1") + testCompileOnly('org.apiguardian:apiguardian-api:1.0.0') } compileJava {
--- a/src/main/java/jp/ac/uryukyu/ie/e165759/FileWrite.java Sun Nov 05 16:29:06 2017 +0900 +++ b/src/main/java/jp/ac/uryukyu/ie/e165759/FileWrite.java Tue Nov 07 16:57:32 2017 +0900 @@ -1,7 +1,62 @@ package jp.ac.uryukyu.ie.e165759; +import java.io.*; + public class FileWrite { - public static void main(String args[]){ - System.out.println("test"); + private boolean isBuffering = true; //継承したクラスの中で衝突したのがわかるのでpublicがオススメ + private long writeSize; + private String filename = "testData.txt"; + private int writeData = '0'; + + public static void main(String args[]) throws IOException { + System.out.println("Hello World!"); + + FileWrite filewrite = new FileWrite(); + filewrite.getopts(args); + try { + filewrite.writeTest(); + }catch(IOException e){ + System.err.println(); + } + } + + void getopts(String[] args){ + for(int i=0;i < args.length;i++){ + switch (args[i]) { + case "-b" : isBuffering = true; break; + case "-u" : isBuffering = false; break; + case "-s" : + if (i+1<=args.length){ + writeSize = Integer.parseInt(args[i+1]); + i++; + } + break; + } + } + } + + private void writeTest() throws IOException{ + long start = System.currentTimeMillis(); + long written = 0; + int data = writeData; + long size = writeSize; + + OutputStream os = new FileOutputStream(filename); + if(isBuffering) { + os = new BufferedOutputStream(os); + } + while(written < size){ + os.write(data); + written ++; + } + os.close(); + long end = System.currentTimeMillis(); + System.out.println("write" +size+ "bytes in" +(end-start)+ "millisec."); + } + long getWriteSize(){ + return writeSize; + } + boolean isBuffered(){ + return isBuffering; } }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/test/java/jp/ac/uryukyu/ie/e165759/FileWriteTest.java Tue Nov 07 16:57:32 2017 +0900 @@ -0,0 +1,25 @@ +package jp.ac.uryukyu.ie.e165759; + +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.*; + +class FileWriteTest { + + @Test + void getopts() { + + FileWrite filewrite = new FileWrite(); + String[] args = {"-b","-s","12"}; + filewrite.getopts(args); + assertEquals(filewrite.getWriteSize(),1234); + assertEquals(filewrite.isBuffered(),true); + + String[] args2 = {"-u","-s","1234"}; + filewrite.getopts(args2); + assertEquals(filewrite.getWriteSize(),12); + assertEquals(filewrite.isBuffered(),true); + + } + +} \ No newline at end of file