package resa.evaluation.scheduler.plan;
import org.junit.Test;
import resa.util.Counter;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.Arrays;
import java.util.stream.LongStream;
import java.util.stream.Stream;
/**
* Created by ding on 14-8-13.
*/
public class DataProcessor {
@Test
public void process() throws IOException {
long[] result = new long[11];
Counter counter = new Counter(0);
Files.lines(Paths.get("/Users/ding/Desktop/fp-opt-data.txt")).filter(s -> !s.isEmpty()).forEach(line -> {
long[] stat = Stream.of(line.replace('|', ',').split(",")).mapToLong(Long::parseLong).toArray();
for (int i = 0; i < stat.length; i++) {
result[i] += stat[i];
}
counter.incAndGet();
});
int cnt = (int) (counter.get() / 2);
System.out.println("Count is " + cnt);
System.out.println(Arrays.toString(LongStream.of(result).map(l -> l / cnt).toArray()));
System.out.println("Total is " + LongStream.of(result).map(l -> l / cnt).sum());
}
@Test
public void getAvg() throws IOException {
double[] result = new double[2];
Files.lines(Paths.get("/Users/ding/Desktop/fp-opt-move-70.txt")).filter(s -> !s.isEmpty()).forEach(line -> {
String[] tmp = line.split(",");
result[0] += Double.valueOf(tmp[0]);
result[1] += Double.valueOf(tmp[1]);
});
result[0] += 0;
result[1] += 0 * 25000;
System.out.println("total " + (long) result[0]);
System.out.println("Avg is " + (result[1] / result[0]));
}
@Test
public void calcSum() {
int sum = Stream.of("213,18,16,20,23,27,27,26,29,39,44".split(",")).mapToInt(Integer::parseInt).sum();
System.out.println(sum);
}
}