/**
* Copyright (C) 2009 - present by OpenGamma Inc. and the OpenGamma group of companies
*
* Please see distribution for license.
*/
package com.opengamma.core;
import static org.testng.AssertJUnit.assertEquals;
import org.testng.annotations.Test;
import com.opengamma.core.security.impl.SimpleSecurityLink;
import com.opengamma.id.ExternalIdBundle;
import com.opengamma.id.ObjectId;
import com.opengamma.util.test.TestGroup;
/**
* Test {@link LinkUtils}.
*/
@Test(groups = TestGroup.UNIT)
@SuppressWarnings("deprecation")
public class LinkUtilsTest {
private static final ObjectId OBJECT_ID = ObjectId.of("A", "B");
private static final ExternalIdBundle EXTERNAL_ID_BUNDLE = ExternalIdBundle.of("C", "D");
public void test_best_empty() {
SimpleSecurityLink test = new SimpleSecurityLink();
assertEquals(ExternalIdBundle.EMPTY, LinkUtils.best(test));
}
public void test_best_objectId() {
SimpleSecurityLink test = new SimpleSecurityLink(OBJECT_ID);
assertEquals(OBJECT_ID, LinkUtils.best(test));
}
public void test_best_externalId() {
SimpleSecurityLink test = new SimpleSecurityLink(EXTERNAL_ID_BUNDLE);
assertEquals(EXTERNAL_ID_BUNDLE, LinkUtils.best(test));
}
public void test_best_bothIds() {
SimpleSecurityLink test = new SimpleSecurityLink(OBJECT_ID);
test.setExternalId(EXTERNAL_ID_BUNDLE);
assertEquals(OBJECT_ID, LinkUtils.best(test));
}
@Test(expectedExceptions=IllegalArgumentException.class)
public void test_best_null() {
assertEquals(null, LinkUtils.best(null));
}
//-------------------------------------------------------------------------
public void test_bestName_empty() {
SimpleSecurityLink test = new SimpleSecurityLink();
assertEquals("", LinkUtils.bestName(test));
}
public void test_bestName_objectId() {
SimpleSecurityLink test = new SimpleSecurityLink(OBJECT_ID);
assertEquals("A~B", LinkUtils.bestName(test));
}
public void test_bestName_externalId() {
SimpleSecurityLink test = new SimpleSecurityLink(EXTERNAL_ID_BUNDLE);
assertEquals("D", LinkUtils.bestName(test));
}
public void test_bestName_bothIds() {
SimpleSecurityLink test = new SimpleSecurityLink(OBJECT_ID);
test.setExternalId(EXTERNAL_ID_BUNDLE);
assertEquals("D", LinkUtils.bestName(test));
}
@Test(expectedExceptions=IllegalArgumentException.class)
public void test_bestName_null() {
assertEquals(null, LinkUtils.bestName(null));
}
//-------------------------------------------------------------------------
public void test_isValid_empty() {
SimpleSecurityLink test = new SimpleSecurityLink();
assertEquals(false, LinkUtils.isValid(test));
}
public void test_isValid_objectId() {
SimpleSecurityLink test = new SimpleSecurityLink(OBJECT_ID);
assertEquals(true, LinkUtils.isValid(test));
}
public void test_isValid_externalId() {
SimpleSecurityLink test = new SimpleSecurityLink(EXTERNAL_ID_BUNDLE);
assertEquals(true, LinkUtils.isValid(test));
}
public void test_isValid_bothIds() {
SimpleSecurityLink test = new SimpleSecurityLink(OBJECT_ID);
test.setExternalId(EXTERNAL_ID_BUNDLE);
assertEquals(true, LinkUtils.isValid(test));
}
public void test_isValid_null() {
assertEquals(false, LinkUtils.isValid(null));
}
}