/* * 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(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(); } }