/*
* Copyright (c) 2004-2011 Marco Maccaferri and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Marco Maccaferri - initial API and implementation
*/
package org.eclipsetrader.ui.internal.markets;
import java.util.Calendar;
import java.util.Date;
import junit.framework.TestCase;
import org.eclipsetrader.core.internal.markets.MarketTime;
import org.eclipsetrader.core.internal.markets.MarketTimeExclude;
import org.eclipsetrader.ui.internal.markets.MarketTimeElement.MarketTimeExcludeElement;
public class MarketTimeElementTest extends TestCase {
public void testCreateFromMarketTime() throws Exception {
MarketTimeElement element = new MarketTimeElement(new MarketTime(getTime(9, 0), getTime(16, 0), "Description"));
assertEquals(getTime(9, 0), element.getOpenTime());
assertEquals(getTime(16, 0), element.getCloseTime());
assertEquals("Description", element.getDescription());
}
public void testCreateMarketTime() throws Exception {
MarketTimeElement element = new MarketTimeElement(getTime(9, 0), getTime(16, 0));
element.setDescription("Description");
MarketTime marketTime = element.getMarketTime();
assertEquals(getTime(9, 0), marketTime.getOpenTime());
assertEquals(getTime(16, 0), marketTime.getCloseTime());
assertEquals("Description", marketTime.getDescription());
}
public void testCreateExclusionListFromMarketTime() throws Exception {
MarketTime marketTime = new MarketTime(getTime(9, 0), getTime(16, 0), "Description");
marketTime.setExclude(new MarketTimeExclude[] {
new MarketTimeExclude(getDate(2008, Calendar.APRIL, 24)),
});
MarketTimeElement element = new MarketTimeElement(marketTime);
assertEquals(1, element.getExclude().size());
}
public void testCreateMarketTimeWithExclusionList() throws Exception {
MarketTimeElement element = new MarketTimeElement(getTime(9, 0), getTime(16, 0));
element.getExclude().add(new MarketTimeExcludeElement(getDate(2008, Calendar.APRIL, 24), getDate(2008, Calendar.APRIL, 24)));
MarketTime marketTime = element.getMarketTime();
assertEquals(1, marketTime.getExclude().length);
assertEquals(getDate(2008, Calendar.APRIL, 24), marketTime.getExclude()[0].getFromDate());
assertEquals(getDate(2008, Calendar.APRIL, 24), marketTime.getExclude()[0].getToDate());
}
private Date getTime(int hour, int minute) {
Calendar date = Calendar.getInstance();
date.set(Calendar.HOUR_OF_DAY, hour);
date.set(Calendar.MINUTE, minute);
date.set(Calendar.SECOND, 0);
date.set(Calendar.MILLISECOND, 0);
return date.getTime();
}
private Date getDate(int year, int month, int day) {
Calendar date = Calendar.getInstance();
date.set(year, month, day, 0, 0, 0);
date.set(Calendar.MILLISECOND, 0);
return date.getTime();
}
}