package jetbrains.mps.baseLanguage.unitTest.execution.tool;
/*Generated by MPS */
import java.util.List;
import jetbrains.mps.internal.collections.runtime.ListSequence;
import java.util.ArrayList;
public abstract class TestContainerRow implements TestStatisticsRow {
private final String myText;
private String myAdditionalText;
private List<TestStatisticsRow> myRows = ListSequence.fromList(new ArrayList<TestStatisticsRow>());
public TestContainerRow(String text, String additionalText) {
myText = text;
myAdditionalText = additionalText;
}
@Override
public String getText() {
return myText;
}
@Override
public String getAdditionalText() {
return myAdditionalText;
}
@Override
public long getElapsedTime() {
long elapsedTime = 0;
for (TestStatisticsRow row : ListSequence.fromList(myRows)) {
long methodTime = row.getElapsedTime();
if (methodTime >= 0) {
elapsedTime = elapsedTime + methodTime;
}
}
return elapsedTime;
}
@Override
public long getUsageBefore() {
long usageBefore = -1;
TestStatisticsRow row = ListSequence.fromList(myRows).first();
if (row != null) {
long methodUsageBefore = row.getUsageBefore();
if (methodUsageBefore >= 0) {
usageBefore = methodUsageBefore;
}
}
return usageBefore;
}
@Override
public long getUsageAfter() {
long usageAfter = -1;
TestStatisticsRow row = ListSequence.fromList(myRows).last();
if (row != null) {
long methodUsageAfter = row.getUsageAfter();
if (methodUsageAfter >= 0) {
usageAfter = methodUsageAfter;
}
}
return usageAfter;
}
@Override
public long getUsageDelta() {
long usageBefore = getUsageBefore();
long usageAfter = getUsageAfter();
long usageDelta = -1;
if (usageAfter >= 0 && usageBefore >= 0) {
usageDelta = usageAfter - usageBefore;
}
return usageDelta;
}
@Override
public int getSuccessful() {
int count = 0;
for (TestStatisticsRow row : ListSequence.fromList(myRows)) {
count = count + row.getSuccessful();
}
return count;
}
@Override
public int getErrored() {
int count = 0;
for (TestStatisticsRow row : ListSequence.fromList(myRows)) {
count = count + row.getErrored();
}
return count;
}
@Override
public int getFailed() {
int count = 0;
for (TestStatisticsRow row : ListSequence.fromList(myRows)) {
count = count + row.getFailed();
}
return count;
}
public void addRow(TestStatisticsRow row) {
ListSequence.fromList(myRows).addElement(row);
}
}