/*
* 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.core.internal.markets;
import java.util.Calendar;
import java.util.Date;
import junit.framework.TestCase;
public class MarketDayTest extends TestCase {
public void testGetOpenTime() throws Exception {
MarketDay day = new MarketDay(getTime(9, 30), null, null);
assertEquals(getTime(9, 30), day.getOpenTime());
}
public void testGetCloseTime() throws Exception {
MarketDay day = new MarketDay(null, getTime(16, 0), null);
assertEquals(getTime(16, 0), day.getCloseTime());
}
public void testGetMessage() throws Exception {
MarketDay day = new MarketDay(null, null, "Message");
assertEquals("Message", day.getMessage());
}
public void testIsOpenAtOpenTime() throws Exception {
MarketDay day = new MarketDay(getTime(2007, Calendar.NOVEMBER, 11, 9, 30), getTime(2007, Calendar.NOVEMBER, 11, 16, 0), null);
assertTrue(day.isOpen(getTime(2007, Calendar.NOVEMBER, 11, 9, 30)));
}
public void testIsOpenAtClosTime() throws Exception {
MarketDay day = new MarketDay(getTime(2007, Calendar.NOVEMBER, 11, 9, 30), getTime(2007, Calendar.NOVEMBER, 11, 16, 0), null);
assertFalse(day.isOpen(getTime(2007, Calendar.NOVEMBER, 11, 16, 0)));
}
public void testIsOpenEarly() throws Exception {
MarketDay day = new MarketDay(getTime(2007, Calendar.NOVEMBER, 11, 9, 30), getTime(2007, Calendar.NOVEMBER, 11, 16, 0), null);
assertFalse(day.isOpen(getTime(2007, Calendar.NOVEMBER, 11, 6, 0)));
}
public void testIsOpenLate() throws Exception {
MarketDay day = new MarketDay(getTime(2007, Calendar.NOVEMBER, 11, 9, 30), getTime(2007, Calendar.NOVEMBER, 11, 16, 0), null);
assertFalse(day.isOpen(getTime(2007, Calendar.NOVEMBER, 11, 17, 0)));
}
public void testIsOpenWithNullTime() throws Exception {
MarketDay day = new MarketDay(null, null, null);
assertFalse(day.isOpen(getTime(12, 30)));
}
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 getTime(int year, int month, int day, int hour, int minute) {
Calendar date = Calendar.getInstance();
date.set(year, month, day, hour, minute, 0);
date.set(Calendar.MILLISECOND, 0);
return date.getTime();
}
}