/*
* Copyright (C) 2008 Steve Ratcliffe
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 3 or
* version 2 as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*/
/* Create date: 16-Feb-2009 */
package func.route;
import java.io.FileNotFoundException;
import java.util.List;
import uk.me.parabola.imgfmt.fs.DirectoryEntry;
import uk.me.parabola.imgfmt.fs.FileSystem;
import uk.me.parabola.mkgmap.main.Main;
import func.Base;
import func.lib.Args;
import func.lib.RangeMatcher;
import org.junit.Test;
import static org.junit.Assert.*;
public class SimpleRouteTest extends Base {
/**
* Simple test to ensure that nothing has changed. Of course
* if the output should have changed, then this will have to be altered
* to match.
*/
@Test
public void testSize() throws FileNotFoundException {
Main.mainNoSystemExit(Args.TEST_STYLE_ARG, "--preserve-element-order",
"--route", Args.TEST_RESOURCE_OSM + "uk-test-1.osm.gz", Args.TEST_RESOURCE_MP + "test1.mp");
FileSystem fs = openFs(Args.DEF_MAP_ID + ".img");
assertNotNull("file exists", fs);
List<DirectoryEntry> entries = fs.list();
int count = 0;
for (DirectoryEntry ent : entries) {
String ext = ent.getExt();
int size = ent.getSize();
switch (ext) {
case "RGN":
count++;
System.out.println("RGN size " + size);
assertThat("RGN size", size, new RangeMatcher(127586));
break;
case "TRE":
count++;
System.out.println("TRE size " + size);
// Size varies depending on svn modified status
assertThat("TRE size", size, new RangeMatcher(1455, 2));
break;
case "LBL":
count++;
assertEquals("LBL size", 28742, size);
break;
case "NET":
count++;
assertEquals("NET size", 66859, size);
break;
case "NOD":
count++;
assertEquals("NOD size", 170201, size);
break;
}
}
assertTrue("enough checks run", count == 5);
fs = openFs(Args.DEF_MAP_FILENAME2);
assertNotNull("file exists", fs);
entries = fs.list();
count = 0;
for (DirectoryEntry ent : entries) {
String ext = ent.getExt();
int size = ent.getSize();
switch (ext) {
case "RGN":
count++;
System.out.println("RGN size " + size);
assertThat("RGN size", size, new RangeMatcher(2727));
break;
case "TRE":
count++;
System.out.println("TRE size " + size);
// Size varies depending on svn modified status
assertThat("TRE size", size, new RangeMatcher(770, 2));
break;
case "LBL":
count++;
assertEquals("LBL size", 999, size);
break;
case "NET":
count++;
assertEquals("NET size", 1301, size);
break;
case "NOD":
count++;
assertEquals("NOD size", 3584, size);
break;
}
}
assertTrue("enough checks run", count == 5);
}
}