/* * Cobertura - http://cobertura.sourceforge.net/ * * Copyright (C) 2005 Mark Doliner * * Cobertura is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published * by the Free Software Foundation; either version 2 of the License, * or (at your option) any later version. * * Cobertura 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. * * You should have received a copy of the GNU General Public License * along with Cobertura; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * USA */ package net.sourceforge.cobertura.coveragedata; import java.io.File; import junit.framework.TestCase; public class CoverageDataFileHandlerTest extends TestCase { private final static String basedir = (System.getProperty("basedir") != null) ? System.getProperty("basedir") : "."; private final static String pathToTestOutput = basedir + "/build/test/CoverageDataFileHandlerTest"; private final ProjectData a = new ProjectData(); private File tmpDir = new File(pathToTestOutput); public void setUp() { // Create some coverage data ClassData classData; assertEquals(0, a.getNumberOfClasses()); assertEquals(0, a.getNumberOfChildren()); classData = new ClassData("HelloWorld"); classData.setSourceFileName("com/example/HelloWorld.java"); for (int i = 0; i < 10; i++) classData.addLine(i, "test", "(I)B"); a.addClassData(classData); assertEquals(1, a.getNumberOfClasses()); assertEquals(1, a.getNumberOfChildren()); classData = new ClassData("HelloWorldHelper"); classData.setSourceFileName("com/example/HelloWorldHelper.java"); for (int i = 0; i < 14; i++) classData.addLine(i, "test", "(I)B"); a.addClassData(classData); assertEquals(2, a.getNumberOfClasses()); assertEquals(1, a.getNumberOfChildren()); // Create the directory for our serialized coverage data tmpDir.mkdirs(); } public void tearDown() { tmpDir = new File(pathToTestOutput); File files[] = tmpDir.listFiles(); for (int i = 0; i < files.length; i++) files[i].delete(); tmpDir.delete(); } public void testSaveAndRestore() { File dataFile = new File(tmpDir, "cobertura.ser"); CoverageDataFileHandler.saveCoverageData(a, dataFile); ProjectData b; b = CoverageDataFileHandler.loadCoverageData(dataFile); assertEquals(a, b); } }