package org.marketcetera.marketdata.marketcetera;
import org.junit.Test;
import static org.junit.Assert.*;
import org.marketcetera.core.ExpectedTestFailure;
public class MarketceteraOptionSymbolTest
{
@Test
public void testGetExpirationCode() {
MarketceteraOptionSymbol symbol = new MarketceteraOptionSymbol("IBM+AZ");
assertEquals('A', symbol.getExpirationCode());
}
@Test
public void testGetStrikeCode() {
MarketceteraOptionSymbol symbol = new MarketceteraOptionSymbol("IBM+AZ");
assertEquals('Z', symbol.getStrikeCode());
}
@Test
public void testMatchesPattern() {
assertTrue(MarketceteraOptionSymbol.matchesPattern("IBM+AZ"));
assertTrue(MarketceteraOptionSymbol.matchesPattern("IB+AZ"));
assertTrue(MarketceteraOptionSymbol.matchesPattern("I+AZ"));
assertFalse(MarketceteraOptionSymbol.matchesPattern("+AZ"));
assertFalse(MarketceteraOptionSymbol.matchesPattern("IBMI+AZ"));
assertFalse(MarketceteraOptionSymbol.matchesPattern("IBM+Z"));
assertFalse(MarketceteraOptionSymbol.matchesPattern("IBM+AZZ"));
assertFalse(MarketceteraOptionSymbol.matchesPattern(""));
assertFalse(MarketceteraOptionSymbol.matchesPattern("IBMAZ"));
}
@Test
public void testToString() {
String symbolString = "IBM+AZ";
MarketceteraOptionSymbol symbol = new MarketceteraOptionSymbol(symbolString);
assertEquals(symbolString, symbol.toString());
}
@Test
public void testMarketceteraOptionSymbol() throws Exception {
String symbolString = "IBM+AZ";
MarketceteraOptionSymbol symbol = new MarketceteraOptionSymbol(symbolString);
assertEquals(symbolString, symbol.toString());
new ExpectedTestFailure(IllegalArgumentException.class){
@Override
protected void execute() throws Throwable {
new MarketceteraOptionSymbol("IBM+R");
}
}.run();
}
}