filedatasourcetest.java

来自「应付作业+练习OOP做的东西」· Java 代码 · 共 84 行

JAVA
84
字号
package tests;
import datasource.*;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.PrintWriter;

import model.ConcreteDataManager;
import model.DataManager;

import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;

public class FileDataSourceTest {
	@Before
	public void setUp() {
		target = new File("testfile");
		PrintWriter writer;

		try {
			target.createNewFile();
			target.setReadable(true);
			target.setWritable(true);

			writer = new PrintWriter(new BufferedWriter(new FileWriter(target)));

			for (int i = 0; i < data.length; i++) {
				writer.println(data[i]);

			}
			writer.close();
		} catch (Exception e) {
		}

	}

	@Test
	public void fileRead() {

		BufferedReader reader;
		try {
			reader = (new BufferedReader(new FileReader(target)));
         
			for (int i = 0; i < data.length; i++) {
				double temp;
				temp = Double.parseDouble(reader.readLine());
				Assert.assertEquals(data[i], temp, 0.01);

			}
			reader.close();
		} catch (Exception e) {
			Assert.fail();
		}
		
	}
	@Test
	public void sourceReadTest(){
		FileSource source=new FileSource(target);
		DataManager manager=ConcreteDataManager.getInstance();
		manager.deleteAll();
		source.sendData(manager);
		double[] res=manager.getAllData();
		Assert.assertEquals(data.length, res.length);
		Assert.assertEquals(data[0], res[0]);
		
		
	}

	@After
	public void clean() {
		target.delete();
	}

	private File target;

	private double[] data = { 5, 6.01, 6.80, 7.50, 8.04, 8.94, 9.9, 10.31,
			11.45 };

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?