Modified: 
maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/utils/AssemblyFormatUtilsTest.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/utils/AssemblyFormatUtilsTest.java?rev=698739&r1=698738&r2=698739&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/utils/AssemblyFormatUtilsTest.java
 (original)
+++ 
maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/utils/AssemblyFormatUtilsTest.java
 Wed Sep 24 14:14:38 2008
@@ -55,157 +55,157 @@
     public void testGetOutputDir_ShouldResolveGroupIdInOutDir_UseArtifactInfo()
         throws AssemblyFormattingException
     {
-        verifyOutputDir( "${artifact.groupId}", null, "group", null, null, 
null, "group/", false );
+        verifyOutputDirUsingArtifactProject( "${artifact.groupId}", null, 
"group", null, null, null, null, "group/" );
     }
 
     public void 
testGetOutputDir_ShouldResolveArtifactIdInOutDir_UseArtifactInfo()
     throws AssemblyFormattingException
     {
-        verifyOutputDir( "${artifact.artifactId}", null, null, "artifact", 
null, null, "artifact/", false );
+        verifyOutputDirUsingArtifactProject( "${artifact.artifactId}", null, 
null, "artifact", null, null, null, "artifact/" );
     }
 
     public void testGetOutputDir_ShouldResolveVersionInOutDir_UseArtifactInfo()
     throws AssemblyFormattingException
     {
-        verifyOutputDir( "${artifact.version}", null, null, null, "version", 
null, "version/", false );
+        verifyOutputDirUsingArtifactProject( "${artifact.version}", null, 
null, null, "version", null, null, "version/" );
     }
 
     public void 
testGetOutputDir_ShouldResolveBuildFinalNameInOutDir_UseArtifactInfo()
     throws AssemblyFormattingException
     {
-        verifyOutputDir( "${artifact.build.finalName}", null, null, null, 
null, "finalName", "finalName/", false );
+        verifyOutputDirUsingArtifactProject( "${artifact.build.finalName}", 
null, null, null, null, "finalName", null, "finalName/" );
     }
 
-    public void 
testGetOutputDir_ShouldResolveGroupIdInOutDir_UseArtifactInfoAndModulePrefix()
+    public void testGetOutputDir_ShouldResolveGroupIdInOutDir_UseModuleInfo()
     throws AssemblyFormattingException
     {
-        verifyOutputDir( "${module.groupId}", null, "group", null, null, null, 
"group/", "module.", false );
+        verifyOutputDirUsingModuleProject( "${module.groupId}", null, "group", 
null, null, null, null, "group/" );
     }
 
-    public void 
testGetOutputDir_ShouldResolveArtifactIdInOutDir_UseArtifactInfoAndModulePrefix()
+    public void 
testGetOutputDir_ShouldResolveArtifactIdInOutDir_UseModuleInfo()
     throws AssemblyFormattingException
     {
-        verifyOutputDir( "${module.artifactId}", null, null, "artifact", null, 
null, "artifact/", "module.", false );
+        verifyOutputDirUsingModuleProject( "${module.artifactId}", null, null, 
"artifact", null, null, null, "artifact/" );
     }
 
-    public void 
testGetOutputDir_ShouldResolveVersionInOutDir_UseArtifactInfoAndModulePrefix()
+    public void testGetOutputDir_ShouldResolveVersionInOutDir_UseModuleInfo()
     throws AssemblyFormattingException
     {
-        verifyOutputDir( "${module.version}", null, null, null, "version", 
null, "version/", "module.", false );
+        verifyOutputDirUsingModuleProject( "${module.version}", null, null, 
null, "version", null, null, "version/" );
     }
 
-    public void 
testGetOutputDir_ShouldResolveBuildFinalNameInOutDir_UseArtifactInfoAndModulePrefix()
+    public void 
testGetOutputDir_ShouldResolveBuildFinalNameInOutDir_UseModuleInfo()
     throws AssemblyFormattingException
     {
-        verifyOutputDir( "${module.build.finalName}", null, null, null, null, 
"finalName", "finalName/", "module.", false );
+        verifyOutputDirUsingModuleProject( "${module.build.finalName}", null, 
null, null, null, "finalName", null, "finalName/" );
     }
 
     public void 
testGetOutputDir_ShouldResolveGroupIdInOutDir_UseExplicitMainProject()
     throws AssemblyFormattingException
     {
-        verifyOutputDir( "${pom.groupId}", null, "group", null, null, null, 
"group/", true );
+        verifyOutputDirUsingMainProject( "${pom.groupId}", null, "group", 
null, null, null, null, "group/" );
     }
 
     public void 
testGetOutputDir_ShouldResolveArtifactIdInOutDir_UseExplicitMainProject()
     throws AssemblyFormattingException
     {
-        verifyOutputDir( "${pom.artifactId}", null, null, "artifact", null, 
null, "artifact/", true );
+        verifyOutputDirUsingMainProject( "${pom.artifactId}", null, null, 
"artifact", null, null, null, "artifact/" );
     }
 
     public void 
testGetOutputDir_ShouldResolveVersionInOutDir_UseExplicitMainProject()
     throws AssemblyFormattingException
     {
-        verifyOutputDir( "${pom.version}", null, null, null, "version", null, 
"version/", true );
+        verifyOutputDirUsingMainProject( "${pom.version}", null, null, null, 
"version", null, null, "version/" );
     }
 
     public void 
testGetOutputDir_ShouldResolveBuildFinalNameInOutDir_UseExplicitMainProject()
     throws AssemblyFormattingException
     {
-        verifyOutputDir( "${pom.build.finalName}", null, null, null, null, 
"finalName", "finalName/", true );
+        verifyOutputDirUsingMainProject( "${pom.build.finalName}", null, null, 
null, null, "finalName", null, "finalName/" );
     }
 
     public void 
testGetOutputDir_ShouldResolveGroupIdInOutDir_UseExplicitMainProject_projectRef()
     throws AssemblyFormattingException
     {
-        verifyOutputDir( "${project.groupId}", null, "group", null, null, 
null, "group/", true );
+        verifyOutputDirUsingMainProject( "${project.groupId}", null, "group", 
null, null, null, null, "group/" );
     }
 
     public void 
testGetOutputDir_ShouldResolveArtifactIdInOutDir_UseExplicitMainProject_projectRef()
     throws AssemblyFormattingException
     {
-        verifyOutputDir( "${project.artifactId}", null, null, "artifact", 
null, null, "artifact/", true );
+        verifyOutputDirUsingMainProject( "${project.artifactId}", null, null, 
"artifact", null, null, null, "artifact/" );
     }
 
     public void 
testGetOutputDir_ShouldResolveVersionInOutDir_UseExplicitMainProject_projectRef()
     throws AssemblyFormattingException
     {
-        verifyOutputDir( "${project.version}", null, null, null, "version", 
null, "version/", true );
+        verifyOutputDirUsingMainProject( "${project.version}", null, null, 
null, "version", null, null, "version/" );
     }
 
     public void 
testGetOutputDir_ShouldResolveBuildFinalNameInOutDir_UseExplicitMainProject_projectRef()
     throws AssemblyFormattingException
     {
-        verifyOutputDir( "${project.build.finalName}", null, null, null, null, 
"finalName", "finalName/", true );
+        verifyOutputDir( "${project.build.finalName}", null, "finalName", 
"finalName/" );
     }
 
     public void 
testGetOutputDir_ShouldNotAlterOutDirWhenIncludeBaseFalseAndNoExpressions()
     throws AssemblyFormattingException
     {
-        verifyOutputDir( "dir/", "finalName", null, null, null, "dir/" );
+        verifyOutputDir( "dir/", "finalName", null, "dir/" );
     }
 
     public void 
testGetOutputDir_ShouldNotAlterOutDirWhenIncludeBaseFalseAndNoExpressions_CheckWithBackslash()
     throws AssemblyFormattingException
     {
-        verifyOutputDir( "dir\\", "finalName", null, null, null, "dir\\" );
+        verifyOutputDir( "dir\\", "finalName", null, "dir\\" );
     }
 
     public void 
testGetOutputDir_ShouldAppendSlashToOutDirWhenMissingAndIncludeBaseFalseAndNoExpressions()
     throws AssemblyFormattingException
     {
-        verifyOutputDir( "dir", "finalName", null, null, null, "dir/" );
+        verifyOutputDir( "dir", "finalName", null, "dir/" );
     }
 
     public void testGetOutputDir_ShouldResolveGroupIdInOutDir()
     throws AssemblyFormattingException
     {
-        verifyOutputDir( "${groupId}", "finalName", "group", null, null, 
"group/" );
+        verifyOutputDirUsingMainProject( "${groupId}", "finalName", "group", 
null, null, null, null, "group/" );
     }
 
     public void testGetOutputDir_ShouldResolveArtifactIdInOutDir()
     throws AssemblyFormattingException
     {
-        verifyOutputDir( "${artifactId}", "finalName", null, "artifact", null, 
"artifact/" );
+        verifyOutputDirUsingMainProject( "${artifactId}", "finalName", null, 
"artifact", null, null, null, "artifact/" );
     }
 
     public void testGetOutputDir_ShouldResolveVersionInOutDir()
     throws AssemblyFormattingException
     {
-        verifyOutputDir( "${version}", "finalName", null, null, "version", 
"version/" );
+        verifyOutputDirUsingMainProject( "${version}", "finalName", null, 
null, "version", null, null, "version/" );
     }
 
     public void testGetOutputDir_ShouldResolveVersionInLargerOutDirExpr()
     throws AssemblyFormattingException
     {
-        verifyOutputDir( "my-special-${version}", "finalName", null, null, 
"99", "my-special-99/" );
+        verifyOutputDirUsingMainProject( "my-special-${version}", "finalName", 
null, null, "99", null, null, "my-special-99/" );
     }
 
     public void testGetOutputDir_ShouldResolveFinalNameInOutDir()
     throws AssemblyFormattingException
     {
-        verifyOutputDir( "${finalName}", "finalName", null, null, null, 
"finalName/" );
+        verifyOutputDir( "${finalName}", "finalName", null, "finalName/" );
     }
 
     public void testGetOutputDir_ShouldResolveBuildFinalNameInOutDir()
     throws AssemblyFormattingException
     {
-        verifyOutputDir( "${build.finalName}", "finalName", null, null, null, 
"finalName/" );
+        verifyOutputDir( "${build.finalName}", "finalName", null, "finalName/" 
);
     }
 
     public void 
testGetOutputDir_ShouldReturnEmptyPathWhenAllInputIsEmptyAndIncludeBaseFalse()
     throws AssemblyFormattingException
     {
-        verifyOutputDir( null, null, null, null, null, "" );
+        verifyOutputDir( null, null, null, "" );
     }
 
     public void testGetOutputDir_ShouldResolveProjectProperty() throws 
AssemblyFormattingException
@@ -213,7 +213,7 @@
         Properties props = new Properties();
         props.setProperty( "myProperty", "value" );
 
-        verifyOutputDir( "file.${myProperty}", null, null, null, null, null, 
"file.value/", null, true, props );
+        verifyOutputDirUsingMainProject( "file.${myProperty}", null, null, 
null, null, null, props, "file.value/" );
     }
 
     public void testGetOutputDir_ShouldResolveProjectPropertyAltExpr() throws 
AssemblyFormattingException
@@ -221,17 +221,17 @@
         Properties props = new Properties();
         props.setProperty( "myProperty", "value" );
 
-        verifyOutputDir( "file.${pom.properties.myProperty}", null, null, 
null, null, null, "file.value/", null, true, props );
+        verifyOutputDirUsingMainProject( "file.${pom.properties.myProperty}", 
null, null, null, null, null, props, "file.value/" );
     }
 
     public void 
testEvalFileNameMapping_ShouldResolveArtifactIdAndBaseVersionInOutDir_UseArtifactInfo_WithValidMainProject()
     throws AssemblyFormattingException
     {
-        MavenProject mainProject = newMavenProject( "group", "main", "1" );
+        MavenProject mainProject = createProject( "group", "main", "1", null );
 
         String artifactVersion = "2-20070807.112233-1";
         String artifactBaseVersion = "2-SNAPSHOT";
-        MavenProject artifactProject = newMavenProject( "group", "artifact", 
artifactVersion );
+        MavenProject artifactProject = createProject( "group", "artifact", 
artifactVersion, null );
         ArtifactMock artifactMock = new ArtifactMock( mockManager, "group", 
"artifact", artifactVersion, "jar", true, artifactBaseVersion );
 
         artifactProject.setArtifact( artifactMock.getArtifact() );
@@ -252,7 +252,7 @@
         
         mockManager.replayAll();
 
-        String result = AssemblyFormatUtils.evaluateFileNameMapping( 
"${artifact.artifactId}-${artifact.baseVersion}", artifactMock.getArtifact(), 
mainProject, artifactProject, "artifact.", cs );
+        String result = AssemblyFormatUtils.evaluateFileNameMapping( 
"${artifact.artifactId}-${artifact.baseVersion}", artifactMock.getArtifact(), 
mainProject, artifactProject, cs );
 
         assertEquals( "artifact-2-SNAPSHOT", result );
 
@@ -262,131 +262,116 @@
         mockManager.clear();
     }
 
-    private MavenProject newMavenProject( String groupId, String artifactId, 
String version )
-    {
-        Model model = new Model();
-        model.setGroupId( groupId );
-        model.setArtifactId( artifactId );
-        model.setVersion( version );
-
-        return new MavenProject( model );
-    }
-
     public void 
testEvalFileNameMapping_ShouldResolveGroupIdInOutDir_UseArtifactInfo()
     throws AssemblyFormattingException
     {
-        verifyEvalFileNameMapping( "${artifact.groupId}", null, "group", null, 
null, null, "group", false );
+        verifyEvalFileNameMappingUsingArtifactProject( "${artifact.groupId}", 
null, "group", null, null, null, "group", null );
     }
 
     public void 
testEvalFileNameMapping_ShouldResolveArtifactIdInOutDir_UseArtifactInfo()
     throws AssemblyFormattingException
     {
-        verifyEvalFileNameMapping( "${artifact.artifactId}", null, null, 
"artifact", null, null, "artifact", false );
+        verifyEvalFileNameMappingUsingArtifactProject( 
"${artifact.artifactId}", null, null, "artifact", null, null, "artifact", null 
);
     }
 
     public void 
testEvalFileNameMapping_ShouldResolveVersionInOutDir_UseArtifactInfo()
     throws AssemblyFormattingException
     {
-        verifyEvalFileNameMapping( "${artifact.version}", null, null, null, 
"version", null, "version", false );
+        verifyEvalFileNameMappingUsingArtifactProject( "${artifact.version}", 
null, null, null, "version", null, "version", null );
     }
 
     public void 
testEvalFileNameMapping_ShouldResolveGroupIdInOutDir_UseArtifactInfoAndModulePrefix()
     throws AssemblyFormattingException
     {
-        verifyEvalFileNameMapping( "${module.groupId}", null, "group", null, 
null, null, "group", "module.", false );
+        verifyEvalFileNameMappingUsingModuleProject( "${module.groupId}", 
null, "group", null, null, null, "group", null );
     }
 
     public void 
testEvalFileNameMapping_ShouldResolveArtifactIdInOutDir_UseArtifactInfoAndModulePrefix()
     throws AssemblyFormattingException
     {
-        verifyEvalFileNameMapping( "${module.artifactId}", null, null, 
"artifact", null, null, "artifact", "module.", false );
+        verifyEvalFileNameMappingUsingModuleProject( "${module.artifactId}", 
null, null, "artifact", null, null, "artifact", null );
     }
 
     public void 
testEvalFileNameMapping_ShouldResolveVersionInOutDir_UseArtifactInfoAndModulePrefix()
     throws AssemblyFormattingException
     {
-        verifyEvalFileNameMapping( "${module.version}", null, null, null, 
"version", null, "version", "module.", false );
+        verifyEvalFileNameMappingUsingModuleProject( "${module.version}", 
null, null, null, "version", null, "version", null );
     }
 
     public void 
testEvalFileNameMapping_ShouldResolveGroupIdInOutDir_UseExplicitMainProject()
     throws AssemblyFormattingException
     {
-        verifyEvalFileNameMapping( "${pom.groupId}", null, "group", null, 
null, null, "group", true );
+        verifyEvalFileNameMappingUsingMainProject( "${pom.groupId}", null, 
"group", null, null, null, "group", null );
     }
 
     public void 
testEvalFileNameMapping_ShouldResolveArtifactIdInOutDir_UseExplicitMainProject()
     throws AssemblyFormattingException
     {
-        verifyEvalFileNameMapping( "${pom.artifactId}", null, null, 
"artifact", null, null, "artifact", true );
+        verifyEvalFileNameMappingUsingMainProject( "${pom.artifactId}", null, 
null, "artifact", null, null, "artifact", null );
     }
 
     public void 
testEvalFileNameMapping_ShouldResolveVersionInOutDir_UseExplicitMainProject()
     throws AssemblyFormattingException
     {
-        verifyEvalFileNameMapping( "${pom.version}", null, null, null, 
"version", null, "version", true );
+        verifyEvalFileNameMappingUsingMainProject( "${pom.version}", null, 
null, null, "version", null, "version", null );
     }
 
     public void 
testEvalFileNameMapping_ShouldResolveGroupIdInOutDir_UseExplicitMainProject_projectRef()
     throws AssemblyFormattingException
     {
-        verifyEvalFileNameMapping( "${project.groupId}", null, "group", null, 
null, null, "group", true );
+        verifyEvalFileNameMappingUsingMainProject( "${project.groupId}", null, 
"group", null, null, null, "group", null );
     }
 
     public void 
testEvalFileNameMapping_ShouldResolveArtifactIdInOutDir_UseExplicitMainProject_projectRef()
     throws AssemblyFormattingException
     {
-        verifyEvalFileNameMapping( "${project.artifactId}", null, null, 
"artifact", null, null, "artifact", true );
+        verifyEvalFileNameMappingUsingMainProject( "${project.artifactId}", 
null, null, "artifact", null, null, "artifact", null );
     }
 
     public void 
testEvalFileNameMapping_ShouldResolveVersionInOutDir_UseExplicitMainProject_projectRef()
     throws AssemblyFormattingException
     {
-        verifyEvalFileNameMapping( "${project.version}", null, null, null, 
"version", null, "version", true );
+        verifyEvalFileNameMappingUsingMainProject( "${project.version}", null, 
null, null, "version", null, "version", null );
     }
 
     public void testEvalFileNameMapping_ShouldPassExpressionThroughUnchanged() 
throws AssemblyFormattingException
     {
-        verifyEvalFileNameMapping( "filename", null, null, null, null, null, 
"filename" );
+        verifyEvalFileNameMapping( "filename", null, null, "filename", null );
     }
 
     public void 
testEvalFileNameMapping_ShouldInsertClassifierAheadOfExtension() throws 
AssemblyFormattingException
     {
-        verifyEvalFileNameMapping( "filename-${artifact.classifier}.ext", 
"classifier", null, null, null, null, "filename-classifier.ext" );
+        verifyEvalFileNameMapping( "filename-${artifact.classifier}.ext", 
"classifier", null, "filename-classifier.ext", null );
     }
 
     public void 
testEvalFileNameMapping_ShouldAppendDashClassifierWhenClassifierPresent() 
throws AssemblyFormattingException
     {
-        verifyEvalFileNameMapping( "filename${dashClassifier?}", "classifier", 
null, null, null, null, "filename-classifier" );
+        verifyEvalFileNameMapping( "filename${dashClassifier?}", "classifier", 
null, "filename-classifier", null );
     }
 
     public void 
testEvalFileNameMapping_ShouldNotAppendDashClassifierWhenClassifierMissing() 
throws AssemblyFormattingException
     {
-        verifyEvalFileNameMapping( "filename${dashClassifier?}", null, null, 
null, null, null, "filename" );
-    }
-
-    public void testEvalFileNameMapping_ShouldAppendClassifier() throws 
AssemblyFormattingException
-    {
-        verifyEvalFileNameMapping( "filename", null, null, null, null, null, 
"filename" );
+        verifyEvalFileNameMapping( "filename${dashClassifier?}", null, null, 
"filename", null );
     }
 
     public void testEvalFileNameMapping_ShouldResolveGroupId() throws 
AssemblyFormattingException
     {
-        verifyEvalFileNameMapping( "${groupId}", null, "group", null, null, 
null, "group" );
+        verifyEvalFileNameMappingUsingMainProject( "${groupId}", null, 
"group", null, null, null, "group", null );
     }
 
     public void testEvalFileNameMapping_ShouldResolveArtifactId() throws 
AssemblyFormattingException
     {
-        verifyEvalFileNameMapping( "${artifactId}", null, null, "artifact", 
null, null, "artifact" );
+        verifyEvalFileNameMappingUsingMainProject( "${artifactId}", null, 
null, "artifact", null, null, "artifact", null );
     }
 
     public void testEvalFileNameMapping_ShouldResolveVersion() throws 
AssemblyFormattingException
     {
-        verifyEvalFileNameMapping( "${version}", null, null, null, "version", 
null, "version" );
+        verifyEvalFileNameMappingUsingMainProject( "${version}", null, null, 
null, "version", null, "version", null );
     }
 
     public void testEvalFileNameMapping_ShouldResolveExtension() throws 
AssemblyFormattingException
     {
-        verifyEvalFileNameMapping( "file.${artifact.extension}", null, null, 
null, null, "ext", "file.ext" );
+        verifyEvalFileNameMapping( "file.${artifact.extension}", null, "ext", 
"file.ext", null );
     }
 
     public void testEvalFileNameMapping_ShouldResolveProjectProperty() throws 
AssemblyFormattingException
@@ -394,7 +379,7 @@
         Properties props = new Properties();
         props.setProperty( "myProperty", "value" );
 
-        verifyEvalFileNameMapping( "file.${myProperty}", null, null, null, 
null, null, "file.value", null, true, props );
+        verifyEvalFileNameMapping( "file.${myProperty}", null, null, 
"file.value", props );
     }
 
     public void testEvalFileNameMapping_ShouldResolveProjectPropertyAltExpr() 
throws AssemblyFormattingException
@@ -402,93 +387,96 @@
         Properties props = new Properties();
         props.setProperty( "myProperty", "value" );
 
-        verifyEvalFileNameMapping( "file.${pom.properties.myProperty}", null, 
null, null, null, null, "file.value", null, true, props );
+        verifyEvalFileNameMapping( "file.${pom.properties.myProperty}", null, 
null, "file.value", props );
     }
 
     public void 
testEvalFileNameMapping_ShouldResolveSystemPropertyWithoutMainProjectPresent() 
throws AssemblyFormattingException
     {
-        verifyEvalFileNameMapping( "file.${java.version}", null, null, null, 
null, null, "file." + System.getProperty( "java.version" ), "artifact.", false 
);
+        verifyEvalFileNameMapping( "file.${java.version}", null, null, "file." 
+ System.getProperty( "java.version" ), null );
     }
-
-    private void verifyEvalFileNameMapping( String expression, String 
classifier, String groupId, String artifactId,
-                                            String version, String extension, 
String checkValue )
+    
+    private void verifyEvalFileNameMapping( String expression, String 
classifier, String extension, String checkValue, Properties projectProperties )
         throws AssemblyFormattingException
     {
-        verifyEvalFileNameMapping( expression, classifier, groupId, 
artifactId, version, extension, checkValue, true );
+        verifyEvalFileNameMappingUsingMainProject( expression, classifier, 
null, null, null, extension, checkValue, projectProperties );
     }
-
-    private void verifyEvalFileNameMapping( String expression, String 
classifier, String groupId, String artifactId,
-                                            String version, String extension, 
String checkValue, boolean usingMainProject )
+    
+    private void verifyEvalFileNameMappingUsingMainProject( String expression, 
String classifier, String groupId,
+                                                            String artifactId, 
String version, String extension,
+                                                            String checkValue, 
Properties projectProperties )
         throws AssemblyFormattingException
     {
-        verifyEvalFileNameMapping( expression, classifier, groupId, 
artifactId, version, extension, checkValue, null, usingMainProject );
-    }
+        MavenProject mainProject = createProject( groupId, artifactId, 
version, projectProperties );
 
-    private void verifyEvalFileNameMapping( String expression, String 
classifier, String groupId, String artifactId,
-                                            String version, String extension, 
String checkValue, String prefix, boolean usingMainProject )
+        MavenProject artifactProject = createProject( "unknown", "unknown", 
"unknown", null );
+        MavenProject moduleProject = createProject( "unknown", "unknown", 
"unknown", null );
+        
+        verifyEvalFileNameMapping( expression, classifier, extension, 
mainProject, moduleProject, artifactProject, checkValue );
+    }
+    
+    private void verifyEvalFileNameMappingUsingArtifactProject( String 
expression, String classifier, String groupId,
+                                                                String 
artifactId, String version, String extension,
+                                                                String 
checkValue, Properties projectProperties )
         throws AssemblyFormattingException
     {
-        verifyEvalFileNameMapping( expression,
-                                   classifier,
-                                   groupId,
-                                   artifactId,
-                                   version,
-                                   extension,
-                                   checkValue,
-                                   prefix,
-                                   usingMainProject,
-                                   new Properties() );
-    }
+        MavenProject artifactProject = createProject( groupId, artifactId, 
version, projectProperties );
 
-    private void verifyEvalFileNameMapping( String expression, String 
classifier, String groupId, String artifactId,
-                                            String version, String extension, 
String checkValue, String prefix, boolean usingMainProject,
-                                            Properties projectProperties )
+        MavenProject mainProject = createProject( "unknown", "unknown", 
"unknown", null );
+        MavenProject moduleProject = createProject( "unknown", "unknown", 
"unknown", null );
+        
+        verifyEvalFileNameMapping( expression, classifier, extension, 
mainProject, moduleProject, artifactProject, checkValue );
+    }
+    
+    private void verifyEvalFileNameMappingUsingModuleProject( String 
expression, String classifier, String groupId, String artifactId,
+                                            String version, String extension, 
String checkValue, Properties projectProperties )
         throws AssemblyFormattingException
     {
-        if ( artifactId == null )
-        {
-            artifactId = "artifact";
-        }
-
-        if ( groupId == null )
-        {
-            groupId = "group";
-        }
-
-        if ( version == null )
-        {
-            version = "version";
-        }
+        MavenProject moduleProject = createProject( groupId, artifactId, 
version, projectProperties );
 
-        if ( extension == null )
-        {
-            extension = "jar";
-        }
+        MavenProject mainProject = createProject( "unknown", "unknown", 
"unknown", null );
+        MavenProject artifactProject = createProject( "unknown", "unknown", 
"unknown", null );
+        
+        verifyEvalFileNameMapping( expression, classifier, extension, 
mainProject, moduleProject, artifactProject, checkValue );
+    }
+    
+        private MavenProject createProject( String groupId, String artifactId, 
String version, Properties projectProperties )
+    {
+            if ( artifactId == null )
+            {
+                artifactId = "artifact";
+            }
 
-        MavenProject project = null;
-        Model model = new Model();
-        model.setGroupId( groupId );
-        model.setArtifactId( artifactId );
-        model.setVersion( version );
+            if ( groupId == null )
+            {
+                groupId = "group";
+            }
 
-        model.setProperties( projectProperties );
+            if ( version == null )
+            {
+                version = "version";
+            }
 
-        project = new MavenProject( model );
+            Model model = new Model();
+            model.setGroupId( groupId );
+            model.setArtifactId( artifactId );
+            model.setVersion( version );
 
-        MavenProject mainProject;
-        MavenProject artifactProject = null;
+            model.setProperties( projectProperties );
 
-        if ( usingMainProject )
-        {
-            mainProject = project;
-        }
-        else
-        {
-            artifactProject = project;
-            mainProject = new MavenProject( new Model() );
-        }
+            return new MavenProject( model );
+    }
 
-        ArtifactMock artifactMock = new ArtifactMock( mockManager, groupId, 
artifactId, version, extension, classifier, false, null );
+    private void verifyEvalFileNameMapping( String expression, String 
classifier, String extension, MavenProject mainProject,
+                                            MavenProject moduleProject, 
MavenProject artifactProject, String checkValue )
+        throws AssemblyFormattingException
+    {
+        ArtifactMock artifactMock =
+            new ArtifactMock( mockManager, artifactProject.getGroupId(), 
artifactProject.getArtifactId(),
+                              artifactProject.getVersion(), extension, 
classifier, false, null );
+        
+        ArtifactMock moduleArtifactMock =
+            new ArtifactMock( mockManager, moduleProject.getGroupId(), 
moduleProject.getArtifactId(),
+                              moduleProject.getVersion(), "jar", false, null );
         
         MockControl sessionCtl = MockClassControl.createControl( 
MavenSession.class );
         mockManager.add( sessionCtl );
@@ -506,15 +494,10 @@
 
         mockManager.replayAll();
 
-        String result;
-        if ( prefix == null )
-        {
-            result = AssemblyFormatUtils.evaluateFileNameMapping( expression, 
artifactMock.getArtifact(), mainProject, artifactProject, cs );
-        }
-        else
-        {
-            result = AssemblyFormatUtils.evaluateFileNameMapping( expression, 
artifactMock.getArtifact(), mainProject, artifactProject, prefix, cs );
-        }
+        String result =
+            AssemblyFormatUtils.evaluateFileNameMapping( expression, 
artifactMock.getArtifact(), mainProject,
+                                                         moduleProject, 
moduleArtifactMock.getArtifact(),
+                                                         artifactProject, cs );
 
         assertEquals( checkValue, result );
 
@@ -524,67 +507,82 @@
         mockManager.clear();
     }
 
-    private void verifyOutputDir( String outDir, String finalName, String 
groupId, String artifactId, String version,
-                                  String checkValue )
+    private void verifyOutputDir( String outDir, String finalName, String 
projectFinalName, String checkValue )
         throws AssemblyFormattingException
     {
-        verifyOutputDir( outDir, finalName, groupId, artifactId, version, 
null, checkValue, true );
+        verifyOutputDirUsingMainProject( outDir, finalName, null, null, null, 
projectFinalName, null, checkValue );
     }
-
-    private void verifyOutputDir( String outDir, String finalName, String 
groupId, String artifactId, String version,
-                                  String projectFinalName, String checkValue, 
boolean usingMainProject )
+    
+    private void verifyOutputDirUsingMainProject( String outDir, String 
finalName, String groupId, String artifactId,
+                                                  String version, String 
projectFinalName, Properties properties,
+                                                  String checkValue )
         throws AssemblyFormattingException
     {
-        verifyOutputDir( outDir, finalName, groupId, artifactId, version, 
projectFinalName, checkValue, null, usingMainProject );
-    }
+        MavenProject project = createProject( groupId, artifactId, version, 
properties );
+        
+        if ( projectFinalName != null )
+        {
+            Build build = new Build();
+            build.setFinalName( projectFinalName );
 
-    private void verifyOutputDir( String outDir, String finalName, String 
groupId, String artifactId, String version,
-                                  String projectFinalName, String checkValue, 
String prefix, boolean usingMainProject )
-        throws AssemblyFormattingException
-    {
-        verifyOutputDir( outDir, finalName, groupId, artifactId, version, 
projectFinalName, checkValue, prefix, usingMainProject, new Properties() );
+            project.getModel().setBuild( build );
+        }
+        
+        MavenProject mainProject = project;
+        MavenProject moduleProject = createProject( "unknown", "unknown", 
"unknown", null );
+        MavenProject artifactProject = createProject( "unknown", "unknown", 
"unknown", null );
+        
+        verifyOutputDir( outDir, finalName, mainProject, moduleProject, 
artifactProject, checkValue );
     }
 
-    private void verifyOutputDir( String outDir, String finalName, String 
groupId, String artifactId, String version,
-                                  String projectFinalName, String checkValue, 
String prefix, boolean usingMainProject,
-                                  Properties projectProperties )
+    private void verifyOutputDirUsingModuleProject( String outDir, String 
finalName, String groupId, String artifactId,
+                                                  String version, String 
projectFinalName, Properties properties,
+                                                  String checkValue )
         throws AssemblyFormattingException
     {
-        MavenProject project = null;
-        if ( ( groupId != null ) || ( artifactId != null ) || ( version != 
null )
-             || ( projectFinalName != null ) || ( projectProperties != null ) )
+        MavenProject project = createProject( groupId, artifactId, version, 
properties );
+        
+        if ( projectFinalName != null )
         {
-            Model model = new Model();
-            model.setGroupId( groupId );
-            model.setArtifactId( artifactId );
-            model.setVersion( version );
+            Build build = new Build();
+            build.setFinalName( projectFinalName );
 
-            model.setProperties( projectProperties );
-
-            if ( projectFinalName != null )
-            {
-                Build build = new Build();
-                build.setFinalName( projectFinalName );
-
-                model.setBuild( build );
-            }
-
-            project = new MavenProject( model );
+            project.getModel().setBuild( build );
         }
+        
+        MavenProject moduleProject = project;
+        MavenProject mainProject = createProject( "unknown", "unknown", 
"unknown", null );
+        MavenProject artifactProject = createProject( "unknown", "unknown", 
"unknown", null );
+        
+        verifyOutputDir( outDir, finalName, mainProject, moduleProject, 
artifactProject, checkValue );
+    }
 
-        MavenProject mainProject;
-        MavenProject artifactProject = null;
-
-        if ( usingMainProject )
-        {
-            mainProject = project;
-        }
-        else
+    private void verifyOutputDirUsingArtifactProject( String outDir, String 
finalName, String groupId, String artifactId,
+                                                  String version, String 
projectFinalName, Properties properties,
+                                                  String checkValue )
+        throws AssemblyFormattingException
+    {
+        MavenProject project = createProject( groupId, artifactId, version, 
properties );
+        
+        if ( projectFinalName != null )
         {
-            artifactProject = project;
-            mainProject = new MavenProject( new Model() );
+            Build build = new Build();
+            build.setFinalName( projectFinalName );
+
+            project.getModel().setBuild( build );
         }
         
+        MavenProject artifactProject = project;
+        MavenProject moduleProject = createProject( "unknown", "unknown", 
"unknown", null );
+        MavenProject mainProject = createProject( "unknown", "unknown", 
"unknown", null );
+        
+        verifyOutputDir( outDir, finalName, mainProject, moduleProject, 
artifactProject, checkValue );
+    }
+
+    private void verifyOutputDir( String outDir, String finalName, 
MavenProject mainProject,
+                                  MavenProject moduleProject, MavenProject 
artifactProject, String checkValue )
+        throws AssemblyFormattingException
+    {
         MockControl sessionCtl = MockClassControl.createControl( 
MavenSession.class );
         mockManager.add( sessionCtl );
         
@@ -602,14 +600,7 @@
         String result;
         
         mockManager.replayAll();
-        if ( prefix == null )
-        {
-            result = AssemblyFormatUtils.getOutputDirectory( outDir, 
mainProject, artifactProject, finalName, cs );
-        }
-        else
-        {
-            result = AssemblyFormatUtils.getOutputDirectory( outDir, 
mainProject, artifactProject, finalName, prefix, cs );
-        }
+        result = AssemblyFormatUtils.getOutputDirectory( outDir, mainProject, 
moduleProject, artifactProject, finalName, cs );
 
         assertEquals( checkValue, result );
         


Reply via email to