View Javadoc

1   package org.apache.maven.archiva.model;
2   
3   /*
4    * Licensed to the Apache Software Foundation (ASF) under one
5    * or more contributor license agreements.  See the NOTICE file
6    * distributed with this work for additional information
7    * regarding copyright ownership.  The ASF licenses this file
8    * to you under the Apache License, Version 2.0 (the
9    * "License"); you may not use this file except in compliance
10   * with the License.  You may obtain a copy of the License at
11   *
12   *  http://www.apache.org/licenses/LICENSE-2.0
13   *
14   * Unless required by applicable law or agreed to in writing,
15   * software distributed under the License is distributed on an
16   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17   * KIND, either express or implied.  See the License for the
18   * specific language governing permissions and limitations
19   * under the License.
20   */
21  
22  import org.codehaus.plexus.spring.PlexusInSpringTestCase;
23  
24  /**
25   * ArchivaModelClonerTest
26   *
27   * @version $Id: ArchivaModelClonerTest.java 718864 2008-11-19 06:33:35Z brett $
28   */
29  public class ArchivaModelClonerTest
30      extends PlexusInSpringTestCase
31  {
32      public void testCloneProjectModelWithParent()
33      {
34          ArchivaProjectModel actualModel = new ArchivaProjectModel();
35          actualModel.setGroupId( null );
36          actualModel.setArtifactId( "archiva-common" );
37          actualModel.setVersion( null );
38          actualModel.setParentProject( new VersionedReference() );
39          actualModel.getParentProject().setGroupId( "org.apache.maven.archiva" );
40          actualModel.getParentProject().setArtifactId( "archiva-parent" );
41          actualModel.getParentProject().setVersion( "1.0" );
42  
43          ArchivaProjectModel clonedModel = ArchivaModelCloner.clone( actualModel );
44  
45          // Should not be the same object (in memory)
46          assertNotSame( clonedModel, actualModel );
47  
48          // Should be equal in value.
49          assertEquals( clonedModel, actualModel );
50  
51          // Test specific fields.
52          assertNull( "Group Id", clonedModel.getGroupId() );
53          assertNull( "Version", clonedModel.getVersion() );
54          assertNotNull( "Parent Reference", clonedModel.getParentProject() );
55          assertEquals( "Parent Group Id", "org.apache.maven.archiva", clonedModel.getParentProject().getGroupId() );
56          assertEquals( "Parent Artifact Id", "archiva-parent", clonedModel.getParentProject().getArtifactId() );
57          assertEquals( "Parent Version", "1.0", clonedModel.getParentProject().getVersion() );
58      }
59  }