package org.junit.internal.matchers;

import static org.hamcrest.CoreMatchers.any;
import static org.hamcrest.CoreMatchers.containsString;
import static org.hamcrest.CoreMatchers.equalTo;
import static org.hamcrest.CoreMatchers.notNullValue;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertThat;
import static org.junit.Assert.assertTrue;
import static org.junit.internal.matchers.StacktracePrintingMatcher.isException;
import static org.junit.internal.matchers.StacktracePrintingMatcher.isThrowable;
import org.junit.Test;

public class StacktracePrintingMatcherTest {
	
	@Test
	public void succeedsWhenInnerMatcherSuceeds() throws Exception {
		assertTrue(isThrowable(any(Throwable.class)).matches(new Exception()));
	}
	
	@Test
	public void failsWhenInnerMatcherFails() throws Exception {
		assertFalse(isException(notNullValue(Exception.class)).matches(null));
	}

	@Test
	public void assertThatIncludesStacktrace() {
		Exception actual= new IllegalArgumentException("my message");
		Exception expected= new NullPointerException();

		try {
			assertThat(actual, isThrowable(equalTo(expected)));
		} catch (AssertionError e) {
			assertThat(e.getMessage(), containsString("Stacktrace was: java.lang.IllegalArgumentException: my message"));
		}
	}
}

@@ -645,16 +645,17 @@
 tcherSuc
+c
 eeds() t

Fix typo in test name