Skip to content

Commit fc6f375

Browse files
committed
fix: properly report processors' output
1 parent b70ee72 commit fc6f375

File tree

5 files changed

+28
-13
lines changed

5 files changed

+28
-13
lines changed

analysis/src/test/java/ComputeTest.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
import net.laprun.sustainability.power.analysis.Compute;
1111
import net.laprun.sustainability.power.analysis.MeanComponentProcessor;
1212
import net.laprun.sustainability.power.measure.OngoingPowerMeasure;
13-
import net.laprun.sustainability.power.measure.PowerMeasure;
1413

1514
public class ComputeTest {
1615
private final static SensorMetadata metadata = SensorMetadata
@@ -115,7 +114,5 @@ void averageShouldWork() {
115114
assertEquals(0, c3Avg, 0.0001,
116115
"Average did not match the expected value");
117116
assertEquals(0, avgProc3.mean());
118-
119-
System.out.println(PowerMeasure.asString(measure));
120117
}
121118
}

measure/src/main/java/net/laprun/sustainability/power/analysis/DefaultProcessors.java

Lines changed: 21 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
public class DefaultProcessors implements Processors {
1010
private final List<ComponentProcessor>[] processors;
11+
private boolean hasComponentProcessors = false;
1112
private List<MeasureProcessor> measureProcessors;
1213

1314
@SuppressWarnings("unchecked")
@@ -39,6 +40,7 @@ public void registerProcessorFor(int componentIndex, ComponentProcessor processo
3940
processors[componentIndex] = processorsForComponent;
4041
}
4142
processorsForComponent.add(processor);
43+
hasComponentProcessors = true;
4244
}
4345
}
4446

@@ -66,13 +68,25 @@ public List<MeasureProcessor> measureProcessors() {
6668
@Override
6769
public String output(SensorMetadata metadata) {
6870
StringBuilder builder = new StringBuilder();
69-
builder.append("# Component Processors\n");
70-
for (int i = 0; i < processors.length; i++) {
71-
final var name = metadata.metadataFor(i).name();
72-
builder.append(" - ").append(name).append(" component:\n");
73-
for (var processor : processorsFor(i)) {
74-
builder.append(" * ").append(processor.name())
75-
.append(": ").append(processor.output()).append("\n");
71+
final var measureProcs = measureProcessors();
72+
if (!measureProcs.isEmpty()) {
73+
builder.append("# Measure Processors\n");
74+
for (var processor : measureProcs) {
75+
builder.append(" * ").append(processor.name()).append(": ").append(processor.output()).append("\n");
76+
}
77+
}
78+
if (hasComponentProcessors) {
79+
builder.append("# Component Processors\n");
80+
for (int i = 0; i < processors.length; i++) {
81+
final var componentProcessors = processorsFor(i);
82+
if (!componentProcessors.isEmpty()) {
83+
final var name = metadata.metadataFor(i).name();
84+
builder.append(" - ").append(name).append(" component:\n");
85+
for (var processor : componentProcessors) {
86+
builder.append(" * ").append(processor.name())
87+
.append(": ").append(processor.output()).append("\n");
88+
}
89+
}
7690
}
7791
}
7892
return builder.toString();

measure/src/main/java/net/laprun/sustainability/power/analysis/Outputable.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@
22

33
public interface Outputable {
44
default String name() {
5-
return this.getClass().getSimpleName();
5+
final var simpleName = this.getClass().getSimpleName();
6+
return !simpleName.isBlank() ? simpleName : this.getClass().getName();
67
}
78

89
default String output() {

measure/src/main/java/net/laprun/sustainability/power/analysis/TotalMeasureProcessor.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ public double total() {
5959
}
6060

6161
public double minMeasuredTotal() {
62-
return convertToExpectedUnit(minTotal);
62+
return minTotal == Double.MAX_VALUE ? 0.0 : convertToExpectedUnit(minTotal);
6363
}
6464

6565
public double maxMeasuredTotal() {
@@ -80,7 +80,8 @@ public String name() {
8080

8181
@Override
8282
public String output() {
83-
return MeasureProcessor.super.output();
83+
final var symbol = expectedResultUnit.symbol();
84+
return String.format("%.2f%s (min: %.2f / max: %.2f)", total(), symbol, minMeasuredTotal(), maxMeasuredTotal());
8485
}
8586

8687
@Override

measure/src/test/java/net/laprun/sustainability/power/analysis/TotalMeasureProcessorTest.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,8 @@ void testTotal() {
6868
assertEquals(m1c1 + m1c2 + m1c3 + m2c1 + m2c2 + m2c3 + m3c1 + m3c2 + m3c3, totalProc.total());
6969
assertEquals(Stream.of(m1total, m2total, m3total).min(Double::compareTo).orElseThrow(), totalProc.minMeasuredTotal());
7070
assertEquals(Stream.of(m1total, m2total, m3total).max(Double::compareTo).orElseThrow(), totalProc.maxMeasuredTotal());
71+
72+
assertTrue(totalProc.output().contains("" + totalProc.total()));
7173
}
7274

7375
}

0 commit comments

Comments
 (0)