Author: echatellier Date: 2009-08-20 16:04:51 +0200 (Thu, 20 Aug 2009) New Revision: 600 Added: trunk/eugene/src/test/java/org/nuiton/eugene/ObjectModelGeneratorTest.java Modified: trunk/eugene/src/main/java/org/nuiton/eugene/Generator.java trunk/eugene/src/main/java/org/nuiton/eugene/ImportsManager.java trunk/eugene/src/test/java/org/nuiton/eugene/GeneratorTaskTest.java trunk/eugene/src/test/java/org/nuiton/eugene/ImportsManagerTest.java Log: Ajout d'un test unitaire sur la restriction de la generation des packages Modified: trunk/eugene/src/main/java/org/nuiton/eugene/Generator.java =================================================================== --- trunk/eugene/src/main/java/org/nuiton/eugene/Generator.java 2009-08-20 13:49:22 UTC (rev 599) +++ trunk/eugene/src/main/java/org/nuiton/eugene/Generator.java 2009-08-20 14:04:51 UTC (rev 600) @@ -212,7 +212,7 @@ for (String generatedPackage : generatedPackages) { // cas egalité parfaites - if (packageName.equals(generatedPackage)) { + if (packageName != null && packageName.equals(generatedPackage)) { canGenerate = true; } @@ -221,7 +221,7 @@ if (!localGeneratedPackage.endsWith(".")) { localGeneratedPackage += "."; } - if (packageName.startsWith(localGeneratedPackage)) { + if (packageName != null && packageName.startsWith(localGeneratedPackage)) { canGenerate = true; } Property changes on: trunk/eugene/src/main/java/org/nuiton/eugene/ImportsManager.java ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision Modified: trunk/eugene/src/test/java/org/nuiton/eugene/GeneratorTaskTest.java =================================================================== --- trunk/eugene/src/test/java/org/nuiton/eugene/GeneratorTaskTest.java 2009-08-20 13:49:22 UTC (rev 599) +++ trunk/eugene/src/test/java/org/nuiton/eugene/GeneratorTaskTest.java 2009-08-20 14:04:51 UTC (rev 600) @@ -33,10 +33,10 @@ * Test class for Generator Ant task. * * @author chatellier - * @version $Revision: 1.0 $ + * @version $Revision$ * - * Last update : $Date: 18 févr. 2009 $ - * By : $Author: chatellier $ + * Last update : $Date$ + * By : $Author$ */ public class GeneratorTaskTest { Property changes on: trunk/eugene/src/test/java/org/nuiton/eugene/GeneratorTaskTest.java ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision Property changes on: trunk/eugene/src/test/java/org/nuiton/eugene/ImportsManagerTest.java ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision Added: trunk/eugene/src/test/java/org/nuiton/eugene/ObjectModelGeneratorTest.java =================================================================== --- trunk/eugene/src/test/java/org/nuiton/eugene/ObjectModelGeneratorTest.java (rev 0) +++ trunk/eugene/src/test/java/org/nuiton/eugene/ObjectModelGeneratorTest.java 2009-08-20 14:04:51 UTC (rev 600) @@ -0,0 +1,96 @@ +/* *##% + * Copyright (C) 2009 Code Lutin + * + * This program 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. + * + * 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. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + *##%*/ + +package org.nuiton.eugene; + +import java.util.ArrayList; +import java.util.List; + +import junit.framework.Assert; + +import org.junit.Test; +import org.nuiton.eugene.models.object.xml.ObjectModelClassImpl; +import org.nuiton.eugene.models.object.xml.ObjectModelElementImpl; + +/** + * Test des fonctions de ObjectModelGenerator. + * + * @author chatellier + * @version $Revision$ + * + * Last update : $Date$ + * By : $Author$ + */ +public class ObjectModelGeneratorTest { + + @Test + public void testCanGenerate() { + + ObjectModelGenerator generator = new ObjectModelGenerator(); + + // test with null generated list + Assert.assertTrue(generator.canGenerateElement(new ObjectModelElementImpl())); + Assert.assertTrue(generator.canGenerateElement(new ObjectModelClassImpl())); + + List<String> generatedPackages = new ArrayList<String>(); + generatedPackages.add("org.nuiton.eugene"); + + generator.setGeneratedPackages(generatedPackages); + + // Still true + Assert.assertTrue(generator.canGenerateElement(new ObjectModelElementImpl())); + // become false + Assert.assertFalse(generator.canGenerateElement(new ObjectModelClassImpl())); + + ObjectModelClassImpl testClass = new ObjectModelClassImpl(); + testClass.setPackage("org.nuiton.eugene"); + Assert.assertTrue(generator.canGenerateElement(testClass)); + + testClass.setPackage("org.nuiton"); + Assert.assertFalse(generator.canGenerateElement(testClass)); + + testClass.setPackage("org.nuiton.eugene.entities"); + Assert.assertTrue(generator.canGenerateElement(testClass)); + + testClass.setPackage("org.nuiton.eugene2"); + Assert.assertFalse(generator.canGenerateElement(testClass)); + + testClass.setPackage("org.nuiton.eugene2.entities"); + Assert.assertFalse(generator.canGenerateElement(testClass)); + + // test avec les generators recursifs + // sans faire de set sur le fils + ObjectModelGenerator childGenerator = new ObjectModelGenerator(generator); + + testClass.setPackage("org.nuiton.eugene"); + Assert.assertTrue(childGenerator.canGenerateElement(testClass)); + + testClass.setPackage("org.nuiton"); + Assert.assertFalse(childGenerator.canGenerateElement(testClass)); + + testClass.setPackage("org.nuiton.eugene.entities"); + Assert.assertTrue(childGenerator.canGenerateElement(testClass)); + + testClass.setPackage("org.nuiton.eugene2"); + Assert.assertFalse(childGenerator.canGenerateElement(testClass)); + + testClass.setPackage("org.nuiton.eugene2.entities"); + Assert.assertFalse(childGenerator.canGenerateElement(testClass)); + + } +} Property changes on: trunk/eugene/src/test/java/org/nuiton/eugene/ObjectModelGeneratorTest.java ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision