Package com.opengamma.engine.target.logger

Source Code of com.opengamma.engine.target.logger.LoggedResolutionPortfolioTest

/**
* Copyright (C) 2013 - present by OpenGamma Inc. and the OpenGamma group of companies
*
* Please see distribution for license.
*/
package com.opengamma.engine.target.logger;

import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertSame;
import static org.testng.Assert.assertTrue;

import java.util.Map;

import org.mockito.Mockito;
import org.testng.annotations.Test;

import com.opengamma.core.position.Portfolio;
import com.opengamma.core.position.PortfolioNode;
import com.opengamma.id.UniqueId;
import com.opengamma.util.test.TestGroup;

/**
* Tests the {@link LoggedResolutionPortfolio} class.
*/
@Test(groups = TestGroup.UNIT)
public class LoggedResolutionPortfolioTest {

  @SuppressWarnings("unchecked")
  public void getAttributes() {
    final Portfolio portfolio = Mockito.mock(Portfolio.class);
    final ResolutionLogger logger = Mockito.mock(ResolutionLogger.class);
    final Portfolio logged = new LoggedResolutionPortfolio(portfolio, logger);
    final Map<String, String> result = Mockito.mock(Map.class);
    Mockito.when(portfolio.getAttributes()).thenReturn(result);
    assertSame(logged.getAttributes(), result);
    Mockito.verifyZeroInteractions(logger);
  }

  @SuppressWarnings("unchecked")
  public void setAttributes() {
    final Portfolio portfolio = Mockito.mock(Portfolio.class);
    final ResolutionLogger logger = Mockito.mock(ResolutionLogger.class);
    final Portfolio logged = new LoggedResolutionPortfolio(portfolio, logger);
    final Map<String, String> param = Mockito.mock(Map.class);
    logged.setAttributes(param);
    Mockito.verify(portfolio).setAttributes(param);
    Mockito.verifyZeroInteractions(logger);
  }

  public void addAttribute() {
    final Portfolio portfolio = Mockito.mock(Portfolio.class);
    final ResolutionLogger logger = Mockito.mock(ResolutionLogger.class);
    final Portfolio logged = new LoggedResolutionPortfolio(portfolio, logger);
    logged.addAttribute("Foo", "Bar");
    Mockito.verify(portfolio).addAttribute("Foo", "Bar");
    Mockito.verifyZeroInteractions(logger);
  }

  public void getRootNode() {
    final Portfolio portfolio = Mockito.mock(Portfolio.class);
    final ResolutionLogger logger = Mockito.mock(ResolutionLogger.class);
    final Portfolio logged = new LoggedResolutionPortfolio(portfolio, logger);
    final PortfolioNode root = Mockito.mock(PortfolioNode.class);
    Mockito.when(root.getUniqueId()).thenReturn(UniqueId.of("Foo", "Bar", "Cow"));
    Mockito.when(portfolio.getRootNode()).thenReturn(root);
    final PortfolioNode returnedRoot = logged.getRootNode();
    assertTrue(returnedRoot instanceof LoggedResolutionPortfolioNode);
    assertEquals(returnedRoot.getUniqueId(), UniqueId.of("Foo", "Bar", "Cow"));
    //Mockito.verify(logger).log(new ComputationTargetSpecification(ComputationTargetType.PORTFOLIO_NODE, UniqueId.of("Foo", "Bar")), UniqueId.of("Foo", "Bar", "Cow"));
    Mockito.verifyNoMoreInteractions(logger);
  }

  public void getName() {
    final Portfolio portfolio = Mockito.mock(Portfolio.class);
    final ResolutionLogger logger = Mockito.mock(ResolutionLogger.class);
    final Portfolio logged = new LoggedResolutionPortfolio(portfolio, logger);
    Mockito.when(portfolio.getName()).thenReturn("Foo");
    assertEquals(logged.getName(), "Foo");
    Mockito.verifyZeroInteractions(logger);
  }

}
TOP

Related Classes of com.opengamma.engine.target.logger.LoggedResolutionPortfolioTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.