public class TestPriceHistoryInformation extends TestCase {

	public TestPriceHistoryInformation(String arg0) {
		super(arg0);
	}

	//addPrice(), getPriceList()のテスト 2002.09.20 20:30終了
	public void testaddPrice() {
		//準備
		PriceHistoryInformation ph = new PriceHistoryInformation();
		//テスト開始
		ph.addPrice(100);
		ph.addPrice(101);
		ph.addPrice(102);
		ph.addPrice(103);

		assertEquals(4, ph.size());

		//目視		
		ArrayList al = (ArrayList) ph.getPriceList();
		Iterator ite = al.iterator();
		while (ite.hasNext()) {
			Double d = (Double) ite.next();
			System.out.println(d.doubleValue());
		}
	}

	//getSelectedPriceList()のテスト 2002.09.20 20:30終了
	public void testgetSelectedPricelist() {
		//準備
		PriceHistoryInformation ph = new PriceHistoryInformation();

		ph.addPrice(100);
		ph.addPrice(101);
		ph.addPrice(102);
		ph.addPrice(103);

		//テスト開始
		List al = ph.getPriceListByRange(2);
		assertEquals(2, al.size());

		//予想される結果
		List validList = new ArrayList();
		validList.add(new Double(102));
		validList.add(new Double(103));

		//テスト
		Iterator alIterator = al.iterator();
		Iterator validIterator = validList.iterator();
		while (alIterator.hasNext()) {
			assertEquals(alIterator.next(), validIterator.next());
		}
	}

	/**
	 * 範囲がHistoryより大きかったら正しく例外をはくことのテスト
	 */
	public void testInValidgetSelectedPricelist() {
		boolean isException = false;
		try {
			//準備
			PriceHistoryInformation ph = new PriceHistoryInformation();
			//テスト開始
			List al = ph.getPriceListByRange(1);
		}
		catch (Exception ex) {
			isException = true;
		}
		assertEquals(true, isException);
	}

	/**
	 * 範囲に-を入れたら正しく例外をはくことのテスト
	 */
	public void testInValidgetSelectedPricelist2() {
		boolean isException = false;
		try {
			//準備
			PriceHistoryInformation ph = new PriceHistoryInformation();
			//テスト開始
			List al = ph.getPriceListByRange(-1);
		}
		catch (Exception ex) {
			isException = true;
		}
		assertEquals(true, isException);
	}
	
	/**
	 * 範囲に-を入れたら正しく例外をはくことのテスト
	 */
	public void testInValidgetSelectedPricelist3() {
		boolean isException = false;
		try {
			//準備
			PriceHistoryInformation ph = new PriceHistoryInformation();
			//テスト開始
			List al = ph.getPriceListByRange(0);
		}
		catch (Exception ex) {
			isException = true;
		}
		assertEquals(true, isException);
	}	
}
