Commit f52cfc4b authored by Vladislav Kiselev's avatar Vladislav Kiselev

Тестирование с разными параметрами, time limit.

parent 4746f729
...@@ -4,12 +4,18 @@ import java.io.*; ...@@ -4,12 +4,18 @@ import java.io.*;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Map; import java.util.Map;
import java.util.TreeMap; import java.util.TreeMap;
import java.util.function.BiFunction;
import java.util.function.Function;
import static inport.Testing.*; import static inport.Testing.*;
import static inport.Testing.solveTaskWithPartialCargoOp;
import inport.ConversionUtil.*; import inport.ConversionUtil.*;
public class Main { public class Main {
static final int DEFAULT_TIME_LIMIT_S = 1;
public static void main(String[] args) { public static void main(String[] args) {
if (args.length == 0) { if (args.length == 0) {
System.out.println("To few arguments."); System.out.println("To few arguments.");
...@@ -32,9 +38,9 @@ public class Main { ...@@ -32,9 +38,9 @@ public class Main {
String error; String error;
if (!task.isTypified()) { if (!task.isTypified()) {
error = solveTask_1(task); error = solveTask_1(task, DEFAULT_TIME_LIMIT_S);
} else { } else {
error = solveTask_2(task); error = solveTask_2(task, DEFAULT_TIME_LIMIT_S);
} }
long finish = System.currentTimeMillis(); long finish = System.currentTimeMillis();
...@@ -89,31 +95,43 @@ public class Main { ...@@ -89,31 +95,43 @@ public class Main {
break; break;
} }
case "debug" : { case "debug" : {
String fileName = "experiment/in.ipp"; debug(Testing::solveTask_2, DEFAULT_TIME_LIMIT_S);
String solverResults = "temp_data/solver_results.txt";
String output = "experiment/debug_info.txt";
TaskCase task = new TaskCase();
try {
task.deserialize(fileName);
} catch (IOException e) {
System.out.println(e.getMessage());
break; break;
} }
String error = solveTask_2(task); case "debug 2" : {
debug(Testing::solveTaskWithPartialCargoOp, DEFAULT_TIME_LIMIT_S);
if (!error.isEmpty()) {
System.out.println("Error : " + error);
break; break;
} else {
task.serialize(fileName);
} }
case "testing" :
test_2(DEFAULT_TIME_LIMIT_S);
break;
case "testing_with_partial_op":
testWithPartialOp(DEFAULT_TIME_LIMIT_S);
break;
case "different_parameters":
try {
testingWithDiffParameters(
"tests/with_typing/Case2.tipp",
1, 30,
16, 35,
1.1, 30);
// testingWithDiffParameters(
// "tests/with_typing/TaskT.tipp",
// 10, 10,
// 32, 32,
// 1.1, 10);
debugInfo(task, solverResults, output); } catch (IOException ex) {
System.out.println(ex.getMessage());
}
break; break;
default:
System.out.println("Unknown type \"" + type + "\"");
} }
case "debug 2" : { }
private static void debug(BiFunction<TaskCase, Integer, String> solver, int timeLimitS) {
String fileName = "experiment/in.ipp"; String fileName = "experiment/in.ipp";
String solverResults = "temp_data/solver_results.txt"; String solverResults = "temp_data/solver_results.txt";
String output = "experiment/debug_info.txt"; String output = "experiment/debug_info.txt";
...@@ -123,33 +141,24 @@ public class Main { ...@@ -123,33 +141,24 @@ public class Main {
task.deserialize(fileName); task.deserialize(fileName);
} catch (IOException e) { } catch (IOException e) {
System.out.println(e.getMessage()); System.out.println(e.getMessage());
break; return;
} }
String error = solveTaskWithPartialCargoOp(task);
long start = System.currentTimeMillis();
String error = solver.apply(task, timeLimitS);
long finish = System.currentTimeMillis();
System.out.println(" " + (finish - start) / 1000.0 + " s");
if (!error.isEmpty()) { if (!error.isEmpty()) {
System.out.println("Error : " + error); System.out.println("Error : " + error);
break; return;
} else { } else {
task.serialize(fileName); task.serialize(fileName);
} }
debugInfo(task, solverResults, output); debugInfo(task, solverResults, output);
break;
}
case "testing" :
test_2();
break;
case "testing_with_partial_op":
testWithPartialOp();
break;
case "testing_exp":
test_2_exp();
break;
default:
System.out.println("Unknown type \"" + type + "\"");
}
} }
private static void debugInfo(TaskCase task, String solverResults, String output) { private static void debugInfo(TaskCase task, String solverResults, String output) {
......
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment