/** * Copyright (C) 2016 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.strata.collect.result; import static org.testng.Assert.assertEquals; import org.testng.annotations.Test; /** * Test {@link FailureItem}. */ @Test public class FailureItemTest { //------------------------------------------------------------------------- public void test_of_reasonMessage() { FailureItem test = FailureItem.of(FailureReason.INVALID, "my {} {} failure", "big", "bad"); assertEquals(test.getReason(), FailureReason.INVALID); assertEquals(test.getMessage(), "my big bad failure"); assertEquals(test.getCauseType().isPresent(), false); assertEquals(test.getStackTrace().contains(".FailureItem.of("), false); assertEquals(test.getStackTrace().contains(".Failure.of("), false); assertEquals(test.getStackTrace().startsWith("com.opengamma.strata.collect.result.FailureItem: my big bad failure"), true); assertEquals(test.getStackTrace().contains(".test_of_reasonMessage("), true); assertEquals(test.toString(), "INVALID: my big bad failure"); } //------------------------------------------------------------------------- public void test_of_reasonException() { IllegalArgumentException ex = new IllegalArgumentException("message"); FailureItem test = FailureItem.of(FailureReason.INVALID, ex); assertEquals(test.getReason(), FailureReason.INVALID); assertEquals(test.getMessage(), "message"); assertEquals(test.getCauseType().isPresent(), true); assertEquals(test.getCauseType().get(), IllegalArgumentException.class); assertEquals(test.getStackTrace().contains(".test_of_reasonException("), true); assertEquals(test.toString(), "INVALID: message: java.lang.IllegalArgumentException"); } //------------------------------------------------------------------------- public void test_of_reasonMessageException() { IllegalArgumentException ex = new IllegalArgumentException("message"); FailureItem test = FailureItem.of(FailureReason.INVALID, ex, "my failure"); assertEquals(test.getReason(), FailureReason.INVALID); assertEquals(test.getMessage(), "my failure"); assertEquals(test.getCauseType().isPresent(), true); assertEquals(test.getCauseType().get(), IllegalArgumentException.class); assertEquals(test.getStackTrace().contains(".test_of_reasonMessageException("), true); assertEquals(test.toString(), "INVALID: my failure: java.lang.IllegalArgumentException: message"); } public void test_of_reasonMessageExceptionNestedException() { IllegalArgumentException innerEx = new IllegalArgumentException("inner"); IllegalArgumentException ex = new IllegalArgumentException("message", innerEx); FailureItem test = FailureItem.of(FailureReason.INVALID, ex, "my {} {} failure", "big", "bad"); assertEquals(test.getReason(), FailureReason.INVALID); assertEquals(test.getMessage(), "my big bad failure"); assertEquals(test.getCauseType().isPresent(), true); assertEquals(test.getCauseType().get(), IllegalArgumentException.class); assertEquals(test.getStackTrace().contains(".test_of_reasonMessageExceptionNestedException("), true); assertEquals(test.toString(), "INVALID: my big bad failure: java.lang.IllegalArgumentException: message"); } }