Rev 3408 |
Blame |
Compare with Previous |
Last modification |
View Log
| RSS feed
/*
* 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 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.
*
*
* Author: Steve Ratcliffe
* Create date: 10-Jan-2009
*/
package func;
import java.io.File;
import java.io.FileNotFoundException;
import uk.me.parabola.imgfmt.app.lbl.LBLFileReader;
import uk.me.parabola.imgfmt.app.trergn.RGNFileReader;
import uk.me.parabola.imgfmt.app.trergn.TREFileReader;
import uk.me.parabola.imgfmt.app.trergn.TREHeader;
import uk.me.parabola.imgfmt.fs.FileSystem;
import uk.me.parabola.imgfmt.fs.ImgChannel;
import uk.me.parabola.imgfmt.sys.ImgFS;
import uk.me.parabola.mkgmap.main.Main;
import func.lib.Args;
import func.lib.TestUtils;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
import static org.junit.Assert.*;
/**
* Creates a single img file and runs several tests on it to verify
* the basic structure of it.
*
* @author Steve Ratcliffe
*/
public class StructureTest
{
private static FileSystem fs
;
private static LBLFileReader lblFile
;
private static TREFileReader treFile
;
private static RGNFileReader rgnFile
;
/** Just test is exists. */
@Test
public void testExists
() {
File f =
new File(Args.
DEF_MAP_FILENAME);
assertTrue
("file exists", f.
exists());
}
@Test
public void testTreHeader
() {
TREHeader header =
(TREHeader
) treFile.
getHeader();
assertEquals
("header length",
188, header.
getHeaderLength());
assertEquals
("display priority",
25, header.
getDisplayPriority());
}
/**
* Read in the file and open all the sections, leave references to them
* in fields so that the other tests can check things.
*/
@BeforeClass
public static void init
() throws FileNotFoundException {
TestUtils.
deleteOutputFiles();
Main.
mainNoSystemExit(new String[]{
Args.
TEST_STYLE_ARG,
Args.
TEST_RESOURCE_OSM +
"uk-test-1.osm.gz"
});
fs = ImgFS.
openFs(Args.
DEF_MAP_FILENAME);
ImgChannel tre = fs.
open(Args.
DEF_MAP_ID +
".TRE",
"r");
treFile =
new TREFileReader
(tre
);
ImgChannel lbl = fs.
open(Args.
DEF_MAP_ID +
".LBL",
"r");
lblFile =
new LBLFileReader
(lbl
);
ImgChannel rgn = fs.
open(Args.
DEF_MAP_ID +
".RGN",
"r");
rgnFile =
new RGNFileReader
(rgn
);
}
/**
* Close everything down.
*/
@AfterClass
public static void cleanup
() {
if (fs
!=
null) {
fs.
close();
treFile.
close();
lblFile.
close();
rgnFile.
close();
}
TestUtils.
deleteOutputFiles();
}
}