summaryrefslogtreecommitdiffstats
path: root/junit4/src/test/java/org/junit/tests/experimental/results/PrintableResultTest.java
blob: de715cbf038e328a957f5331d0f48c7075e91baf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
package org.junit.tests.experimental.results;

import static java.util.Arrays.asList;
import static org.hamcrest.CoreMatchers.allOf;
import static org.junit.Assert.assertThat;
import static org.junit.internal.matchers.StringContains.containsString;

import java.util.Arrays;

import org.junit.experimental.results.PrintableResult;
import org.junit.experimental.theories.DataPoint;
import org.junit.experimental.theories.Theories;
import org.junit.experimental.theories.Theory;
import org.junit.runner.Description;
import org.junit.runner.RunWith;
import org.junit.runner.notification.Failure;

@RunWith(Theories.class)
public class PrintableResultTest {
	@SuppressWarnings("unchecked")
	@Theory(nullsAccepted= false)
	public void backTraceHasGoodToString(String descriptionName,
			final String stackTraceClassName) {
		Failure failure= new Failure(Description
				.createSuiteDescription(descriptionName), new Throwable() {
			private static final long serialVersionUID= 1L;

			@Override
			public StackTraceElement[] getStackTrace() {
				return new StackTraceElement[] { new StackTraceElement(
						stackTraceClassName, "methodName", "fileName", 1) };
			}
		});

		assertThat(new PrintableResult(asList(failure)).toString(), allOf(
				containsString(descriptionName), containsString(stackTraceClassName)));
	}

	@DataPoint
	public static String SHELL_POINT= "Shell Point";

	@Theory
	public void includeMultipleFailures(String secondExceptionName) {
		PrintableResult backtrace= new PrintableResult(Arrays.asList(
				new Failure(Description.createSuiteDescription("firstName"),
						new RuntimeException("firstException")), new Failure(
						Description.createSuiteDescription("secondName"),
						new RuntimeException(secondExceptionName))));
		assertThat(backtrace.toString(), containsString(secondExceptionName));
	}
}