package org.marketcetera.marketdata;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import static org.marketcetera.marketdata.Messages.NULL_URL;
import org.junit.Before;
import org.junit.Test;
import org.marketcetera.module.ExpectedFailure;
/**
* Tests {@link AbstractMarketDataFeedCredentials}.
*
* @author <a href="mailto:colin@marketcetera.com">Colin DuPlantis</a>
* @version $Id: AbstractMarketDataFeedCredentialsTest.java 16154 2012-07-14 16:34:05Z colin $
* @since 0.5.0
*/
public class AbstractMarketDataFeedCredentialsTest
extends MarketDataFeedTestBase
{
@Before
public void setUp()
throws Exception
{
MockMarketDataFeedCredentials.sValidateThrowsThrowable = false;
}
@Test
public void testValidate()
throws Exception
{
MockMarketDataFeedCredentials.sValidateThrowsThrowable = true;
new ExpectedFailure<FeedException>(NULL_URL) {
@Override
protected void run()
throws Exception
{
new MockMarketDataFeedCredentials(null);
}
};
new ExpectedFailure<FeedException>(NULL_URL) {
@Override
protected void run()
throws Exception
{
new MockMarketDataFeedCredentials("");
}
};
new ExpectedFailure<FeedException>(NULL_URL) {
@Override
protected void run()
throws Exception
{
new MockMarketDataFeedCredentials(" ");
}
};
new ExpectedFailure<NullPointerException>() {
@Override
protected void run()
throws Exception
{
new MockMarketDataFeedCredentials("someURL");
}
};
MockMarketDataFeedCredentials.sValidateThrowsThrowable = false;
String url = "http://url-" + System.nanoTime(); //$NON-NLS-1$
MockMarketDataFeedCredentials credentials = new MockMarketDataFeedCredentials(url);
assertEquals(url,
credentials.getURL());
}
@Test
public void testEquals()
throws Exception
{
MockMarketDataFeedCredentials c1 = new MockMarketDataFeedCredentials("url1"); //$NON-NLS-1$
MockMarketDataFeedCredentials c2 = new MockMarketDataFeedCredentials("url2"); //$NON-NLS-1$
MockMarketDataFeedCredentials c3 = new MockMarketDataFeedCredentials("url1"); //$NON-NLS-1$
MockMarketDataFeedCredentials c4 = new MockMarketDataFeedCredentials("url1"); //$NON-NLS-1$
assertFalse(c1.equals(null));
assertFalse(c1.equals(this));
// symmetry
assertTrue(c1.equals(c4));
assertTrue(c4.equals(c1));
assertFalse(c1.equals(c2));
assertFalse(c2.equals(c1));
// reflexivity
assertTrue(c1.equals(c1));
assertTrue(c2.equals(c2));
assertTrue(c3.equals(c3));
assertTrue(c4.equals(c4));
// transivity
assertTrue(c1.equals(c3));
assertTrue(c3.equals(c4));
assertTrue(c1.equals(c4));
// consistency
assertTrue(c1.equals(c4));
// hashcode
assertEquals(c1.hashCode(),
c3.hashCode());
assertEquals(c1.hashCode(),
c4.hashCode());
assertTrue(c1.hashCode() != c2.hashCode());
assertTrue(c2.hashCode() != c3.hashCode());
assertTrue(c2.hashCode() != c4.hashCode());
}
}