⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testmediadatabase.java

📁 第四次作业 1、 创建一个Animal(动物)类
💻 JAVA
字号:
import  java.io.*;
import  java.util.*;

/**
 * Test driver for class <code>MediaDatabase</code>.
 *
 * @author  iCarnegie
 * @version  1.0.0
 */
public class TestMediaDatabase  {

	/* Standard output stream */
	private static PrintWriter  stdOut =
		new  PrintWriter(System.out, true);

	/* Standard error stream */
	private static PrintWriter  stdErr =
		new  PrintWriter(System.err, true);

	/**
	 * Displays a message in the standard error stream if the value specified
	 * by parameter <code>condition<code> is <code>false</code>.
	 *
	 * @param message  the error message.
	 * @param condition  the test condition.
	 */
	public static void assertTrue(String message, boolean condition) {

		if (!condition) {
			stdErr.print("** Test failure ");
			stdErr.println(message);
		}
	}

	/**
	 * Displays a message in the standard error stream.
	 *
	 * @param message  the error message.
	 */
	public static void fail(String message) {

		stdErr.print("** Test failure ");
		stdErr.println(message);
	}

	/**
	 * Test driver for class <code>MediaDatabase</code>.
	 *
	 * @param args  not used.
	 */
	public static void  main(String[] args)  {

		stdOut.println("");
		stdOut.println("Testing class MediaDatabase...");

		String[] fileNames = {"f0", "f1", "f2", "f3", "f4"};

		AudioFile file0 = new AudioFile(fileNames[0], 0);
		AudioFile file1 = new AudioFile(fileNames[1], 1);
		AudioFile file2 = new AudioFile(fileNames[2], 2);
		AudioFile file3 = new AudioFile(fileNames[3], 3);
		AudioFile file4 = new AudioFile(fileNames[4], 4);

		MediaFile[] files = {file0, file1, file2, file3, file4};
		MediaFile[] removedFiles = {file2, file3};
		MediaFile[] notRemovedFiles = {file0, file1, file4};

		MediaDatabase database = new MediaDatabase();
		MediaDatabase databaseEmpty = new MediaDatabase();

		// testing class definition
		assertTrue("1: testing class definition",
				database instanceof Iterable);

		// testing addFile and getNumberOfFiles
		assertTrue("2: testing method getNumberOfFiles",
			databaseEmpty.getNumberOfFiles() == 0);

		for (MediaFile mediaFile : files) {
			database.addFile(mediaFile);
		}
			
		assertTrue("3: testing methods addFile and getNumberOfFiles",
			database.getNumberOfFiles() == files.length);

		// testing getFile
		for (int i = 0; i <  files.length; i++) {
			assertTrue("4: testing method getFile",
				database.getFile(fileNames[i]) == files[i]);
		}

		assertTrue("5: testing method getFile",
			database.getFile("unknownName") == null);

		// testing getFileNames
		assertTrue("6: testing method getFileNames",
			databaseEmpty.getFileNames().length == 0);
			
		String[] resultGetFileNames = database.getFileNames();
		assertTrue("7: testing method getFileNames",
			resultGetFileNames.length == 5
			&&	isNameInArray(fileNames[0], resultGetFileNames)
			&&	isNameInArray(fileNames[1], resultGetFileNames)
			&&	isNameInArray(fileNames[2], resultGetFileNames)
			&&	isNameInArray(fileNames[3], resultGetFileNames)
			&&	isNameInArray(fileNames[4], resultGetFileNames));
		
		// testing iterator
		Iterator iterator = database.iterator();
		int elementsInIterator = 0;
		
		for (MediaFile mediaFile : files) {
			if (iterator.hasNext() && iterator.next() == mediaFile) {
				elementsInIterator++;
			} else {
				break;
			}
		}
		assertTrue("8: testing method iterator",
			elementsInIterator == files.length);
		assertTrue("9: testing method iterator", ! iterator.hasNext());

		// testing removeFiles
		for (MediaFile mediaFile : removedFiles) {
			database.removeFile(mediaFile);
		}

		assertTrue("10: testing method removeFiles",
			database.getNumberOfFiles() == notRemovedFiles.length);

		for (MediaFile mediaFile : notRemovedFiles) {
			assertTrue("11: testing method removeFiles",
				database.getFile(mediaFile.getName()) == mediaFile);
		}

		for (MediaFile mediaFile : removedFiles) {
			assertTrue("12: testing method removeFiles",
				database.getFile(mediaFile.getName()) == null);
		}
	
		stdOut.println("done");
	}
	
	/*
	 * Check if the name exist in the array
	 */
	private static boolean isNameInArray(String name, String[] array) {
		
		for (String nameInArray : array) {
			if (name.equals(nameInArray)) {
				
				return true;
		
			}
		}
		
		return false;
	}
}

⌨️ 快捷键说明

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