diff --git a/brouter-expressions/src/main/java/btools/expressions/IntegrityCheckProfile.java b/brouter-expressions/src/main/java/btools/expressions/IntegrityCheckProfile.java new file mode 100644 index 0000000..8579653 --- /dev/null +++ b/brouter-expressions/src/main/java/btools/expressions/IntegrityCheckProfile.java @@ -0,0 +1,50 @@ +package btools.expressions; + +import java.io.File; +import java.io.IOException; + +public class IntegrityCheckProfile { + + public static void main( final java.lang.String[] args ) { + if (args.length != 2) { + System.out.println("usage: java IntegrityCheckProfile "); + return; + } + + IntegrityCheckProfile test = new IntegrityCheckProfile(); + try { + File lookupFile = new File(args[0]); + File profileDir = new File(args[1]); + test.integrityTestProfiles(lookupFile, profileDir); + } catch (Exception e) { + System.err.println(e.getMessage()); + } + } + + public void integrityTestProfiles(File lookupFile, File profileDir) throws IOException, Exception { + File[] files = profileDir.listFiles(); + + if (files==null) { + System.err.println("no files " + profileDir); + return; + } + if (!lookupFile.exists()) { + System.err.println("no lookup file " + lookupFile); + return; + } + + for (File f : files) { + if (f.getName().endsWith(".brf")) { + BExpressionMetaData meta = new BExpressionMetaData(); + BExpressionContext expctxWay = new BExpressionContextWay(meta); + BExpressionContext expctxNode = new BExpressionContextNode(meta); + meta.readMetaData(lookupFile); + expctxNode.setForeignContext(expctxWay); + expctxWay.parseFile(f, "global"); + expctxNode.parseFile(f, "global"); + System.out.println("test " + meta.lookupVersion + "."+meta.lookupMinorVersion + " " + f); + } + } + } + +} diff --git a/brouter-expressions/src/test/java/btools/expressions/IntegrityCheckProfileTest.java b/brouter-expressions/src/test/java/btools/expressions/IntegrityCheckProfileTest.java new file mode 100644 index 0000000..bd32fbf --- /dev/null +++ b/brouter-expressions/src/test/java/btools/expressions/IntegrityCheckProfileTest.java @@ -0,0 +1,33 @@ +package btools.expressions; + +import static org.junit.Assert.assertNotNull; + +import org.junit.Test; + +import java.io.File; +import java.io.IOException; + +public class IntegrityCheckProfileTest { + + @Test + public void integrityTestProfiles() throws IOException { + File workingDir = new File(".").getCanonicalFile(); + File profileDir = new File(workingDir, "../misc/profiles2"); + File[] files = profileDir.listFiles(); + + assertNotNull("Missing profiles", files); + + for (File f : files) { + if (f.getName().endsWith(".brf")) { + BExpressionMetaData meta = new BExpressionMetaData(); + BExpressionContext expctxWay = new BExpressionContextWay(meta); + BExpressionContext expctxNode = new BExpressionContextNode(meta); + meta.readMetaData(new File( profileDir, "lookups.dat")); + expctxNode.setForeignContext(expctxWay); + expctxWay.parseFile(f, "global"); + expctxNode.parseFile(f, "global"); + } + } + } + +} diff --git a/misc/profiles2/softaccess.brf b/misc/profiles2/softaccess.brf index a57a969..88d5a81 100644 --- a/misc/profiles2/softaccess.brf +++ b/misc/profiles2/softaccess.brf @@ -20,3 +20,4 @@ assign costfactor ---context:node # following code refers to node tags +assign initialcost = 0