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

📄 testfilecatalogloader.java

📁 SSD3 实验5的上交文件 自己实验做得
💻 JAVA
字号:
import java.io.*;
import java.util.*;

/**
 * Tests the class <code>FileCatalogLoader</code>
 *
 * @author author name
 * @version 1.0.0
 * @see FileCatalogLoader
 */
public class  TestFileCatalogLoader  {

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

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

	/**
	 * Tests methods of class {@link FileCatalogLoader}
	 *
	 * @param args  not used.
	 * @throws IOException  if an I/O error occurs.
	 */
	public static void main (String args[]) throws IOException {

		TestFileCatalogLoader tester =
			new TestFileCatalogLoader();

		tester.testLoadCatalog();
		stdOut.println("All tests passed");
	}

	/**
	 * 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.
	 * @return the value of <code>condition</code>
	 */
	public static void assertTrue(String message, boolean condition) {

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

			System.exit(1);
		}

	}
	
	/**
	 * Displays a message in the standard error stream.
	 *
	 * @param message  the error message.
	 * @return <code>false</code>;
	 */
	public static void fail(String message) {

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

		System.exit(1);
	}

	/**
	 * Tests the method <code>loadCatalog</code>.
	 *
	 * @return <code>true</code> if all test passed; otherwise returns
	 *         <code>false</code>.
	 * @throws IOException  if an I/O error occurs.
	 */
	public void testLoadCatalog() throws IOException {

		CatalogLoader loader = new FileCatalogLoader();
			
		try {
			// Testing an empty file
			Catalog emptyCatalog =
				loader.loadCatalog("empty.dat");
				
			assertTrue("1, testing method read with an empty file",
				emptyCatalog instanceof Catalog);
			assertTrue("2, testing method read with an empty file"
				+ emptyCatalog.getNumberOfProducts() + " products loaded",
				emptyCatalog.getNumberOfProducts() == 0);
			
			// Testing a not empty file
			Catalog catalog =
				loader.loadCatalog("catalog.dat");
	
			assertTrue("3, testing method loadCatalog",
				catalog instanceof Catalog);
			assertTrue("4, testing method loadCatalog: "
				+ catalog.getNumberOfProducts() + " products loaded",
				catalog.getNumberOfProducts() == 26);
			
			// Testing product C001
			Product product = catalog.getProduct("C001");
			
			assertTrue("5, testing method loadCatalog" + product.toString(),
				product instanceof Coffee);
			
			Coffee coffeeC001 = (Coffee) product;
				
			assertTrue("6, testing method loadCatalog: " + 
				coffeeC001.toString(),
				coffeeC001.getCode().equals("C001") &&
				coffeeC001.getDescription().equals("Colombia, Whole, 1 lb") &&
				coffeeC001.getPrice() == 17.99 &&
				coffeeC001.getOrigin().equals("Colombia") &&
				coffeeC001.getRoast().equals("Medium") &&
				coffeeC001.getFlavor().equals("Rich and Hearty")  &&
				coffeeC001.getAroma().equals("Rich") &&
				coffeeC001.getAcidity().equals("Medium") &&
				coffeeC001.getBody().equals("Full"));
			
			// Testing product C002
			product = catalog.getProduct("C002");
			
			assertTrue("7, testing method loadCatalog: " + product.toString(),
				product instanceof Coffee);
			
			Coffee coffeeC002 = (Coffee) product;
				
			assertTrue("8, testing method loadCatalog: " + 
				coffeeC002.toString(),
				coffeeC002.getCode().equals("C002") &&
				coffeeC002.getDescription().equals("Colombia, Ground, 1 lb") &&
				coffeeC002.getPrice() == 18.75 &&
				coffeeC002.getOrigin().equals("Colombia") &&
				coffeeC002.getRoast().equals("Medium") &&
				coffeeC002.getFlavor().equals("Rich and Hearty")  &&
				coffeeC002.getAroma().equals("Rich") &&
				coffeeC002.getAcidity().equals("Medium") &&
				coffeeC002.getBody().equals("Full"));
				
			// Testing product A001
			product = catalog.getProduct("A001");
			
			assertTrue("9, testing method loadCatalog: " + product.toString(),
				product instanceof Product);
				
			assertTrue("10, testing method loadCatalog: " + 
				product.toString(),
				product.getCode().equals("A001") &&
				product.getDescription().equals("Almond Flavored Syrup") &&
				product.getPrice() == 9.0);
				
			// Testing product B002
			product = catalog.getProduct("B002");
			
			assertTrue("11, testing method loadCatalog: " + product.toString(),
				product instanceof CoffeeBrewer);
	
			CoffeeBrewer brewerB002 = (CoffeeBrewer) product;
			
			assertTrue("12, testing method loadCatalog: " + 
				brewerB002.toString(),
				brewerB002.getCode().equals("B002") &&
				brewerB002.getDescription().equals("Coffee Brewer, 2 Warmers") &&
				brewerB002.getPrice() == 200.0 &&
				brewerB002.getModel().equals("Brewer 200") &&
				brewerB002.getWaterSupply().equals("Pourover") &&
				brewerB002.getNumberOfCups() == 12);
				
		} catch (Exception e) {
			fail("13, testing method loadCatalog: " + e.getMessage());
		}
	}
}

⌨️ 快捷键说明

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