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
.UITestUtil
;
5 import com
.intellij
.ui
.SimpleTextAttributes
;
6 import com
.intellij
.util
.ui
.ColumnInfo
;
7 import org
.jetbrains
.annotations
.NotNull
;
10 * @author Roman Chernyatchik
12 public class ColumnDurationTest
extends BaseColumnRenderingTest
{
14 public void testValueOf_NotRun() {
15 assertEquals("<NOT RUN>", myColumn
.valueOf(mySimpleTest
));
18 public void testValueOf_InProgress() {
19 mySimpleTest
.setStarted();
20 assertEquals("<RUNNING>", myColumn
.valueOf(mySimpleTest
));
23 public void testValueOf_TestFailure() {
24 mySimpleTest
.setStarted();
25 mySimpleTest
.setTestFailed("", "", false);
26 assertEquals("<UNKNOWN>", myColumn
.valueOf(mySimpleTest
));
28 mySimpleTest
.setDuration(10000);
29 assertEquals(String
.valueOf((float)10) + " s", myColumn
.valueOf(mySimpleTest
));
32 public void testValueOf_TestPassed() {
33 mySimpleTest
.setStarted();
34 mySimpleTest
.setFinished();
35 assertEquals("<UNKNOWN>", myColumn
.valueOf(mySimpleTest
));
37 mySimpleTest
.setDuration(10000);
38 assertEquals(String
.valueOf((float)10) + " s", myColumn
.valueOf(mySimpleTest
));
41 public void testValueOf_TestError() {
42 mySimpleTest
.setStarted();
43 mySimpleTest
.setTestFailed("", "", true);
44 assertEquals("<UNKNOWN>", myColumn
.valueOf(mySimpleTest
));
46 mySimpleTest
.setDuration(10000);
47 assertEquals(String
.valueOf((float)10) + " s", myColumn
.valueOf(mySimpleTest
));
50 public void testValueOf_TestTerminated() {
51 mySimpleTest
.setStarted();
52 mySimpleTest
.setTerminated();
53 assertEquals("<TERMINATED>", myColumn
.valueOf(mySimpleTest
));
55 mySimpleTest
.setDuration(10000);
56 assertEquals("TERMINATED: " + String
.valueOf((float)10) + " s", myColumn
.valueOf(mySimpleTest
));
59 public void testValueOf_TestIgnored() {
60 mySimpleTest
.setStarted();
61 mySimpleTest
.setTestIgnored("todo", null);
62 mySimpleTest
.setFinished();
63 assertEquals("<UNKNOWN>", myColumn
.valueOf(mySimpleTest
));
65 mySimpleTest
.setDuration(10000);
66 assertEquals(String
.valueOf((float)10) + " s", myColumn
.valueOf(mySimpleTest
));
69 public void testValueOf_Duration_Zero() {
70 mySimpleTest
.setStarted();
71 mySimpleTest
.setTestFailed("", "", false);
72 assertEquals("<UNKNOWN>", myColumn
.valueOf(mySimpleTest
));
74 mySimpleTest
.setDuration(0);
75 assertEquals("0 s", myColumn
.valueOf(mySimpleTest
));
78 public void testValueOf_Duration_1() {
79 mySimpleTest
.setStarted();
80 mySimpleTest
.setTestFailed("", "", false);
81 assertEquals("<UNKNOWN>", myColumn
.valueOf(mySimpleTest
));
83 mySimpleTest
.setDuration(1);
84 assertEquals("1 ms", myColumn
.valueOf(mySimpleTest
));
87 public void testValueOf_Duration_99() {
88 mySimpleTest
.setStarted();
89 mySimpleTest
.setTestFailed("", "", false);
90 assertEquals("<UNKNOWN>", myColumn
.valueOf(mySimpleTest
));
92 mySimpleTest
.setDuration(99);
93 assertEquals("99 ms", myColumn
.valueOf(mySimpleTest
));
96 public void testValueOf_Duration_100() {
97 mySimpleTest
.setStarted();
98 mySimpleTest
.setTestFailed("", "", false);
99 assertEquals("<UNKNOWN>", myColumn
.valueOf(mySimpleTest
));
101 mySimpleTest
.setDuration(100);
102 assertEquals(String
.valueOf((float)0.1) + " s", myColumn
.valueOf(mySimpleTest
));
105 public void testValueOf_Duration_999() {
106 mySimpleTest
.setStarted();
107 mySimpleTest
.setTestFailed("", "", false);
108 assertEquals("<UNKNOWN>", myColumn
.valueOf(mySimpleTest
));
110 mySimpleTest
.setDuration(999);
111 assertEquals(String
.valueOf((float)0.999) + " s", myColumn
.valueOf(mySimpleTest
));
114 public void testValueOf_Duration_1000() {
115 mySimpleTest
.setStarted();
116 mySimpleTest
.setTestFailed("", "", false);
117 assertEquals("<UNKNOWN>", myColumn
.valueOf(mySimpleTest
));
119 mySimpleTest
.setDuration(1000);
120 assertEquals(String
.valueOf((float)1) + " s", myColumn
.valueOf(mySimpleTest
));
123 public void testValueOf_Duration_1001() {
124 mySimpleTest
.setStarted();
125 mySimpleTest
.setTestFailed("", "", false);
126 assertEquals("<UNKNOWN>", myColumn
.valueOf(mySimpleTest
));
128 mySimpleTest
.setDuration(1001);
129 assertEquals(String
.valueOf((float)1.001) + " s", myColumn
.valueOf(mySimpleTest
));
132 public void testValueOf_SuiteEmpty() {
133 final SMTestProxy suite
= createSuiteProxy();
136 assertEquals("<NO TESTS>", myColumn
.valueOf(suite
));
139 assertEquals("<NO TESTS>", myColumn
.valueOf(suite
));
142 public void testValueOf_SuiteNotRun() {
143 final SMTestProxy suite
= createSuiteProxy();
144 assertEquals("<NOT RUN>", myColumn
.valueOf(suite
));
146 final SMTestProxy test
= createTestProxy("test", suite
);
147 assertEquals("<NOT RUN>", myColumn
.valueOf(suite
));
150 assertEquals("<NOT RUN>", myColumn
.valueOf(suite
));
153 public void testValueOf_SuiteFailed() {
154 final SMTestProxy suite
= createSuiteProxy();
155 final SMTestProxy test
= createTestProxy("test", suite
);
158 test
.setTestFailed("", "", false);
161 assertEquals("<UNKNOWN>", myColumn
.valueOf(suite
));
163 test
.setDuration(10000);
164 assertEquals(String
.valueOf((float)10) + " s", myColumn
.valueOf(suite
));
167 public void testValueOf_SuiteError() {
168 final SMTestProxy suite
= createSuiteProxy();
169 final SMTestProxy test
= createTestProxy("test", suite
);
172 test
.setTestFailed("", "", true);
175 assertEquals("<UNKNOWN>", myColumn
.valueOf(suite
));
177 test
.setDuration(10000);
178 assertEquals(String
.valueOf((float)10) + " s", myColumn
.valueOf(suite
));
181 public void testValueOf_SuitePassed() {
182 final SMTestProxy suite
= createSuiteProxy();
183 final SMTestProxy test
= createTestProxy("test", suite
);
189 assertEquals("<UNKNOWN>", myColumn
.valueOf(suite
));
191 test
.setDuration(10000);
192 assertEquals(String
.valueOf((float)10) + " s", myColumn
.valueOf(suite
));
195 public void testValueOf_SuiteTerminated() {
196 final SMTestProxy suite
= createSuiteProxy();
197 final SMTestProxy test
= createTestProxy("test", suite
);
200 suite
.setTerminated();
202 assertEquals("<TERMINATED>", myColumn
.valueOf(suite
));
204 test
.setDuration(10000);
205 assertEquals("TERMINATED: " + String
.valueOf((float)10) + " s", myColumn
.valueOf(suite
));
208 public void testValueOf_SuiteRunning() {
209 final SMTestProxy suite
= createSuiteProxy();
210 final SMTestProxy test
= createTestProxy("test", suite
);
215 assertEquals("<RUNNING>", myColumn
.valueOf(suite
));
217 test
.setDuration(10000);
218 assertEquals("RUNNING: " + String
.valueOf((float)10) + " s", myColumn
.valueOf(suite
));
221 public void testTotal_Test() {
222 mySuite
.addChild(mySimpleTest
);
224 doRender(mySimpleTest
, 0);
225 assertFragmentsSize(1);
226 assertEquals(SimpleTextAttributes
.REGULAR_ATTRIBUTES
, myFragmentsContainer
.getAttribsAt(0));
227 assertEquals(myColumn
.valueOf(mySimpleTest
), myFragmentsContainer
.getTextAt(0));
229 myFragmentsContainer
.clear();
230 doRender(mySimpleTest
, 1);
231 assertFragmentsSize(1);
232 assertEquals(SimpleTextAttributes
.REGULAR_ATTRIBUTES
, myFragmentsContainer
.getAttribsAt(0));
233 assertEquals(myColumn
.valueOf(mySimpleTest
), myFragmentsContainer
.getTextAt(0));
236 public void testTotal_RegularSuite() {
237 doRender(mySuite
, 1);
238 assertFragmentsSize(1);
239 assertEquals(SimpleTextAttributes
.REGULAR_ATTRIBUTES
, myFragmentsContainer
.getAttribsAt(0));
240 assertEquals(myColumn
.valueOf(mySuite
), myFragmentsContainer
.getTextAt(0));
243 public void testTotal_TotalSuite() {
244 doRender(mySuite
, 0);
245 assertFragmentsSize(1);
246 assertEquals(SimpleTextAttributes
.REGULAR_BOLD_ATTRIBUTES
, myFragmentsContainer
.getAttribsAt(0));
247 assertEquals(myColumn
.valueOf(mySuite
), myFragmentsContainer
.getTextAt(0));
250 protected ColoredRenderer
createRenderer(final SMTestProxy testProxy
,
251 final UITestUtil
.FragmentsContainer fragmentsContainer
) {
252 return new MyRenderer(testProxy
, fragmentsContainer
);
255 protected ColumnInfo
<SMTestProxy
, String
> createColumn() {
256 return new ColumnDuration();
259 private class MyRenderer
extends ColumnDuration
.DurationCellRenderer
{
260 private final UITestUtil
.FragmentsContainer myFragmentsContainer
;
262 public MyRenderer(final SMTestProxy proxy
,
263 final UITestUtil
.FragmentsContainer fragmentsContainer
) {
265 myFragmentsContainer
= fragmentsContainer
;
269 public void append(@NotNull final String fragment
, @NotNull final SimpleTextAttributes attributes
,
270 final boolean isMainText
) {
271 myFragmentsContainer
.append(fragment
, attributes
);