/** * Copyright (C) 2009 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.core.position.impl; import static org.testng.AssertJUnit.assertEquals; import static org.testng.AssertJUnit.assertSame; import org.testng.annotations.Test; import com.opengamma.id.UniqueId; import com.opengamma.util.test.TestGroup; /** * Test {@link SimplePortfolio}. */ @Test(groups = TestGroup.UNIT) public class SimplePortfolioTest { public void test_construction_String() { SimplePortfolio test = new SimplePortfolio("Name"); assertEquals(null, test.getUniqueId()); assertEquals("Name", test.getName()); assertEquals(true, SimplePortfolioNode.class.isAssignableFrom(test.getRootNode().getClass())); assertEquals(0, test.getRootNode().size()); assertEquals("Portfolio[]", test.toString()); } @Test(expectedExceptions=IllegalArgumentException.class) public void test_construction_String_null() { new SimplePortfolio((String) null); } //------------------------------------------------------------------------- public void test_construction_PortfolioIdString() { SimplePortfolio test = new SimplePortfolio(id("Scheme", "Id"), "Name"); assertEquals(id("Scheme", "Id"), test.getUniqueId()); assertEquals("Name", test.getName()); assertEquals(true, SimplePortfolioNode.class.isAssignableFrom(test.getRootNode().getClass())); assertEquals(0, test.getRootNode().size()); assertEquals("Portfolio[Scheme~Id]", test.toString()); } @Test(expectedExceptions=IllegalArgumentException.class) public void test_construction_PortfolioIdString_nullId() { new SimplePortfolio(null, "Name"); } @Test(expectedExceptions=IllegalArgumentException.class) public void test_construction_PortfolioIdString_nullName() { new SimplePortfolio(id("Scheme", "Id"), null); } //------------------------------------------------------------------------- public void test_construction_PortfolioIdStringNode() { SimplePortfolioNode root = new SimplePortfolioNode(); SimplePortfolio test = new SimplePortfolio(id("Scheme", "Id"), "Name", root); assertEquals(id("Scheme", "Id"), test.getUniqueId()); assertEquals("Name", test.getName()); assertEquals(true, test.getRootNode() == root); assertEquals("Portfolio[Scheme~Id]", test.toString()); } @Test(expectedExceptions=IllegalArgumentException.class) public void test_construction_PortfolioIdStringNode_nullId() { new SimplePortfolio(null, "Name", new SimplePortfolioNode()); } @Test(expectedExceptions=IllegalArgumentException.class) public void test_construction_PortfolioIdStringNode_nullName() { new SimplePortfolio(id("Scheme", "Id"), null, new SimplePortfolioNode()); } @Test(expectedExceptions=IllegalArgumentException.class) public void test_construction_PortfolioIdStringNode_nullRoot() { new SimplePortfolio(id("Scheme", "Id"), "Name", null); } private UniqueId id(String scheme, String value) { return UniqueId.of(scheme, value); } //------------------------------------------------------------------------- public void test_setUniqueId() { SimplePortfolio test = new SimplePortfolio(id("Scheme", "Id"), "Name"); test.setUniqueId(id("Scheme2", "Id2")); assertEquals(id("Scheme2", "Id2"), test.getUniqueId()); } @Test(expectedExceptions=IllegalArgumentException.class) public void test_setUniqueId_null() { SimplePortfolio test = new SimplePortfolio(id("Scheme", "Id"), "Name"); test.setUniqueId(null); } //------------------------------------------------------------------------- public void test_setName() { SimplePortfolio test = new SimplePortfolio(id("Scheme", "Id"), "Name"); test.setName("Name2"); assertEquals("Name2", test.getName()); } @Test(expectedExceptions=IllegalArgumentException.class) public void test_setName_null() { SimplePortfolio test = new SimplePortfolio(id("Scheme", "Id"), "Name"); test.setName(null); } //------------------------------------------------------------------------- public void test_setRootNode() { SimplePortfolio test = new SimplePortfolio(id("Scheme", "Id"), "Name"); SimplePortfolioNode root = new SimplePortfolioNode(); test.setRootNode(root); assertSame(root, test.getRootNode()); } @Test(expectedExceptions=IllegalArgumentException.class) public void test_setRootNode_null() { SimplePortfolio test = new SimplePortfolio(id("Scheme", "Id"), "Name"); test.setRootNode(null); } }