smrunner: dependency on ruby module removed
[fedora-idea.git] / smRunner / testSrc / com / intellij / execution / testframework / sm / runner / ui / statistics / ColumnDurationTest.java
blob9a57f211ca991b570c597a4688724aad77a3653c
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;
9 /**
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();
134 suite.setStarted();
135 suite.setFinished();
136 assertEquals("<NO TESTS>", myColumn.valueOf(suite));
138 suite.setFinished();
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));
149 test.setDuration(5);
150 assertEquals("<NOT RUN>", myColumn.valueOf(suite));
153 public void testValueOf_SuiteFailed() {
154 final SMTestProxy suite = createSuiteProxy();
155 final SMTestProxy test = createTestProxy("test", suite);
157 suite.setStarted();
158 test.setTestFailed("", "", false);
159 suite.setFinished();
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);
171 suite.setStarted();
172 test.setTestFailed("", "", true);
173 suite.setFinished();
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);
185 suite.setStarted();
186 test.setFinished();
187 suite.setFinished();
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);
199 suite.setStarted();
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);
212 suite.setStarted();
213 test.setStarted();
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) {
264 super(proxy);
265 myFragmentsContainer = fragmentsContainer;
268 @Override
269 public void append(@NotNull final String fragment, @NotNull final SimpleTextAttributes attributes,
270 final boolean isMainText) {
271 myFragmentsContainer.append(fragment, attributes);