smrunner: dependency on ruby module removed
[fedora-idea.git] / smRunner / testSrc / com / intellij / execution / testframework / sm / runner / ui / statistics / ColumnResultsTest.java
blob90265b2be702bdf55bd422288ba01e2bf53882e8
1 package com.intellij.execution.testframework.sm.runner.ui.statistics;
3 import com.intellij.execution.testframework.sm.runner.SMTestProxy;
4 import com.intellij.execution.testframework.sm.runner.ui.TestsPresentationUtil;
5 import com.intellij.execution.testframework.sm.UITestUtil;
6 import com.intellij.ui.SimpleTextAttributes;
7 import com.intellij.util.ui.ColumnInfo;
8 import org.jetbrains.annotations.NotNull;
10 /**
11 * @author Roman Chernyatchik
13 public class ColumnResultsTest extends BaseColumnRenderingTest {
15 public void testPresentation_TestNotRun() {
16 doRender(mySimpleTest);
18 assertFragmentsSize(1);
19 assertEquals(1, myFragmentsContainer.getFragments().size());
20 assertEquals(SimpleTextAttributes.GRAYED_BOLD_ATTRIBUTES, myFragmentsContainer.getAttribsAt(0));
21 assertEquals("Not run", myFragmentsContainer.getTextAt(0));
24 public void testPresentation_TestInProgress() {
25 mySimpleTest.setStarted();
27 doRender(mySimpleTest);
28 assertFragmentsSize(1);
29 assertEquals(SimpleTextAttributes.REGULAR_BOLD_ATTRIBUTES, myFragmentsContainer.getAttribsAt(0));
30 assertEquals("Running...", myFragmentsContainer.getTextAt(0));
33 public void testPresentation_TestFailure() {
34 mySimpleTest.setStarted();
35 mySimpleTest.setTestFailed("", "", false);
37 doRender(mySimpleTest);
38 assertFragmentsSize(1);
39 assertEquals(TestsPresentationUtil.DEFFECT_ATTRIBUTES, myFragmentsContainer.getAttribsAt(0));
40 assertEquals("Assertion failed", myFragmentsContainer.getTextAt(0));
43 public void testPresentation_TestPassed() {
44 mySimpleTest.setStarted();
45 mySimpleTest.setFinished();
47 doRender(mySimpleTest);
48 assertFragmentsSize(1);
49 assertEquals(TestsPresentationUtil.PASSED_ATTRIBUTES, myFragmentsContainer.getAttribsAt(0));
50 assertEquals("Passed", myFragmentsContainer.getTextAt(0));
53 public void testPresentation_TestError() {
54 mySimpleTest.setStarted();
55 mySimpleTest.setTestFailed("", "", true);
57 doRender(mySimpleTest);
58 assertFragmentsSize(1);
59 assertEquals(TestsPresentationUtil.DEFFECT_ATTRIBUTES, myFragmentsContainer.getAttribsAt(0));
60 assertEquals("Error", myFragmentsContainer.getTextAt(0));
63 public void testPresentation_TestTerminated() {
64 mySimpleTest.setStarted();
65 mySimpleTest.setTerminated();
67 doRender(mySimpleTest);
68 assertFragmentsSize(1);
69 assertEquals(TestsPresentationUtil.TERMINATED_ATTRIBUTES, myFragmentsContainer.getAttribsAt(0));
70 assertEquals("Terminated", myFragmentsContainer.getTextAt(0));
73 public void testValueOf_Test() {
74 assertEquals("<underfined>", myColumn.valueOf(mySimpleTest));
76 mySimpleTest.setStarted();
77 assertEquals("<underfined>", myColumn.valueOf(mySimpleTest));
79 mySimpleTest.setFinished();
80 assertEquals("<underfined>", myColumn.valueOf(mySimpleTest));
83 public void testValueOf_Suite() {
84 assertEquals("<underfined>", myColumn.valueOf(mySuite));
86 mySuite.setStarted();
87 assertEquals("<underfined>", myColumn.valueOf(mySuite));
89 createTestProxy(mySuite);
90 assertEquals("<underfined>", myColumn.valueOf(mySuite));
92 mySuite.setFinished();
93 assertEquals("<underfined>", myColumn.valueOf(mySuite));
96 public void testPresentation_SuiteNotRun() {
97 doRender(mySuite);
99 assertFragmentsSize(1);
100 assertEquals(TestsPresentationUtil.DEFFECT_ATTRIBUTES, myFragmentsContainer.getAttribsAt(0));
101 assertEquals("<NO TESTS>", myFragmentsContainer.getTextAt(0));
104 public void testPresentation_SuiteEmpty() {
105 doRender(mySuite);
106 assertFragmentsSize(1);
107 assertEquals(TestsPresentationUtil.DEFFECT_ATTRIBUTES, myFragmentsContainer.getAttribsAt(0));
108 assertEquals("<NO TESTS>", myFragmentsContainer.getTextAt(0));
110 myFragmentsContainer.clear();
111 mySuite.setStarted();
112 doRender(mySuite);
113 assertFragmentsSize(1);
114 assertEquals(TestsPresentationUtil.PASSED_ATTRIBUTES, myFragmentsContainer.getAttribsAt(0));
115 assertEquals("<NO TESTS>", myFragmentsContainer.getTextAt(0));
117 myFragmentsContainer.clear();
118 mySuite.setFinished();
119 doRender(mySuite);
120 assertFragmentsSize(1);
121 assertEquals(TestsPresentationUtil.PASSED_ATTRIBUTES, myFragmentsContainer.getAttribsAt(0));
122 assertEquals("<NO TESTS>", myFragmentsContainer.getTextAt(0));
125 public void testPresentation_SuiteTestProgress() {
126 mySuite.setStarted();
127 final SMTestProxy test1 = createTestProxy(mySuite);
128 assertEmpty(myFragmentsContainer.getFragments());
130 test1.setStarted();
131 assertEmpty(myFragmentsContainer.getFragments());
134 public void testPresentation_SuiteTestPassed() {
135 mySuite.setStarted();
136 final SMTestProxy test1 = createTestProxy(mySuite);
138 doRender(mySuite);
139 assertEmpty(myFragmentsContainer.getFragments());
141 test1.setStarted();
142 test1.setFinished();
144 doRender(mySuite);
145 assertFragmentsSize(1);
146 assertEquals(TestsPresentationUtil.PASSED_ATTRIBUTES, myFragmentsContainer.getAttribsAt(0));
147 assertEquals("P:1", myFragmentsContainer.getTextAt(0));
150 public void testPresentation_SuiteTestFailed() {
151 mySuite.setStarted();
152 final SMTestProxy test1 = createTestProxy(mySuite);
154 doRender(mySuite);
155 assertEmpty(myFragmentsContainer.getFragments());
157 test1.setStarted();
158 test1.setTestFailed("", "", false);
160 doRender(mySuite);
161 assertFragmentsSize(1);
162 assertEquals(TestsPresentationUtil.DEFFECT_ATTRIBUTES, myFragmentsContainer.getAttribsAt(0));
163 assertEquals("F:1 ", myFragmentsContainer.getTextAt(0));
166 public void testPresentation_SuiteTestError() {
167 mySuite.setStarted();
168 final SMTestProxy test1 = createTestProxy(mySuite);
170 doRender(mySuite);
171 assertEmpty(myFragmentsContainer.getFragments());
173 test1.setStarted();
174 test1.setTestFailed("", "", true);
176 doRender(mySuite);
177 assertFragmentsSize(1);
178 assertEquals(TestsPresentationUtil.DEFFECT_ATTRIBUTES, myFragmentsContainer.getAttribsAt(0));
179 assertEquals("E:1 ", myFragmentsContainer.getTextAt(0));
182 public void testPresentation_SuiteTerminated() {
183 mySuite.setStarted();
184 final SMTestProxy test1 = createTestProxy(mySuite);
185 doRender(mySuite);
186 assertEmpty(myFragmentsContainer.getFragments());
188 test1.setStarted();
189 mySuite.setTerminated();
191 doRender(mySuite);
192 assertEmpty(myFragmentsContainer.getFragments());
195 public void testPresentation_SuiteTerminated_WithResults() {
196 mySuite.setStarted();
197 final SMTestProxy passedTest = createTestProxy(mySuite);
198 final SMTestProxy failedTest = createTestProxy(mySuite);
199 final SMTestProxy errorTest = createTestProxy(mySuite);
200 final SMTestProxy inProgressTest = createTestProxy(mySuite);
202 doRender(mySuite);
203 assertEmpty(myFragmentsContainer.getFragments());
205 passedTest.setStarted();
206 passedTest.setFinished();
208 failedTest.setStarted();
209 failedTest.setTestFailed("", "", false);
210 failedTest.setFinished();
212 errorTest.setStarted();
213 errorTest.setTestFailed("", "", true);
214 errorTest.setFinished();
216 inProgressTest.setStarted();
218 mySuite.setTerminated();
220 doRender(mySuite);
221 assertFragmentsSize(3);
222 assertEquals(TestsPresentationUtil.DEFFECT_ATTRIBUTES, myFragmentsContainer.getAttribsAt(0));
223 assertEquals("F:1 ", myFragmentsContainer.getTextAt(0));
224 assertEquals(TestsPresentationUtil.DEFFECT_ATTRIBUTES, myFragmentsContainer.getAttribsAt(1));
225 assertEquals("E:1 ", myFragmentsContainer.getTextAt(1));
226 assertEquals(TestsPresentationUtil.PASSED_ATTRIBUTES, myFragmentsContainer.getAttribsAt(2));
227 assertEquals("P:1", myFragmentsContainer.getTextAt(2));
230 public void testPresentation_SuiteStarted_DifferentResults() {
231 mySuite.setStarted();
232 final SMTestProxy passedTest1 = createTestProxy(mySuite);
233 final SMTestProxy passedTest2 = createTestProxy(mySuite);
234 final SMTestProxy passedTest3 = createTestProxy(mySuite);
235 final SMTestProxy failedTest = createTestProxy(mySuite);
236 final SMTestProxy errorTest1 = createTestProxy(mySuite);
237 final SMTestProxy errorTest2 = createTestProxy(mySuite);
238 final SMTestProxy inProgressTest = createTestProxy(mySuite);
240 doRender(mySuite);
241 assertEmpty(myFragmentsContainer.getFragments());
243 passedTest1.setStarted();
244 passedTest1.setFinished();
245 passedTest2.setStarted();
246 passedTest2.setFinished();
247 passedTest3.setStarted();
248 passedTest3.setFinished();
250 failedTest.setStarted();
251 failedTest.setTestFailed("", "", false);
252 failedTest.setFinished();
254 errorTest1.setStarted();
255 errorTest1.setTestFailed("", "", true);
256 errorTest1.setFinished();
257 errorTest2.setStarted();
258 errorTest2.setTestFailed("", "", true);
259 errorTest2.setFinished();
261 inProgressTest.setStarted();
263 doRender(mySuite);
264 assertFragmentsSize(3);
265 assertEquals(TestsPresentationUtil.DEFFECT_ATTRIBUTES, myFragmentsContainer.getAttribsAt(0));
266 assertEquals("F:1 ", myFragmentsContainer.getTextAt(0));
267 assertEquals(TestsPresentationUtil.DEFFECT_ATTRIBUTES, myFragmentsContainer.getAttribsAt(1));
268 assertEquals("E:2 ", myFragmentsContainer.getTextAt(1));
269 assertEquals(TestsPresentationUtil.PASSED_ATTRIBUTES, myFragmentsContainer.getAttribsAt(2));
270 assertEquals("P:3", myFragmentsContainer.getTextAt(2));
273 public void testPresentation_SuitePassed() {
274 mySuite.setStarted();
275 final SMTestProxy passedTest = createTestProxy(mySuite);
276 final SMTestProxy failedTest = createTestProxy(mySuite);
278 passedTest.setStarted();
279 passedTest.setFinished();
281 mySuite.setFinished();
283 doRender(mySuite);
284 assertFragmentsSize(1);
285 assertEquals(TestsPresentationUtil.PASSED_ATTRIBUTES, myFragmentsContainer.getAttribsAt(0));
286 assertEquals("P:1", myFragmentsContainer.getTextAt(0));
289 public void testPresentation_SuiteFailed() {
290 mySuite.setStarted();
291 final SMTestProxy passedTest = createTestProxy(mySuite);
292 final SMTestProxy failedTest = createTestProxy(mySuite);
294 passedTest.setStarted();
295 passedTest.setFinished();
297 failedTest.setStarted();
298 failedTest.setTestFailed("", "", false);
299 failedTest.setFinished();
301 mySuite.setFinished();
303 doRender(mySuite);
304 assertFragmentsSize(2);
305 assertEquals(TestsPresentationUtil.DEFFECT_ATTRIBUTES, myFragmentsContainer.getAttribsAt(0));
306 assertEquals("F:1 ", myFragmentsContainer.getTextAt(0));
307 assertEquals(TestsPresentationUtil.PASSED_ATTRIBUTES, myFragmentsContainer.getAttribsAt(1));
308 assertEquals("P:1", myFragmentsContainer.getTextAt(1));
311 public void testPresentation_SuiteError() {
312 mySuite.setStarted();
313 final SMTestProxy passedTest = createTestProxy(mySuite);
314 final SMTestProxy failedTest = createTestProxy(mySuite);
316 passedTest.setStarted();
317 passedTest.setFinished();
319 failedTest.setStarted();
320 failedTest.setTestFailed("", "", true);
321 failedTest.setFinished();
323 mySuite.setFinished();
325 doRender(mySuite);
326 assertFragmentsSize(2);
327 assertEquals(TestsPresentationUtil.DEFFECT_ATTRIBUTES, myFragmentsContainer.getAttribsAt(0));
328 assertEquals("E:1 ", myFragmentsContainer.getTextAt(0));
329 assertEquals(TestsPresentationUtil.PASSED_ATTRIBUTES, myFragmentsContainer.getAttribsAt(1));
330 assertEquals("P:1", myFragmentsContainer.getTextAt(1));
333 protected ColoredRenderer createRenderer(final SMTestProxy testProxy,
334 final UITestUtil.FragmentsContainer fragmentsContainer) {
335 return new MyRenderer(testProxy, fragmentsContainer);
338 protected ColumnInfo<SMTestProxy, String> createColumn() {
339 return new ColumnResults();
343 private class MyRenderer extends ColumnResults.ResultsCellRenderer {
344 private final UITestUtil.FragmentsContainer myFragmentsContainer;
346 private MyRenderer(final SMTestProxy proxy,
347 final UITestUtil.FragmentsContainer fragmentsContainer) {
348 super(proxy);
349 myFragmentsContainer = fragmentsContainer;
352 @Override
353 public void append(@NotNull final String fragment, @NotNull final SimpleTextAttributes attributes,
354 final boolean isMainText) {
355 myFragmentsContainer.append(fragment, attributes);