1   package org.apache.maven.plugin.changes;
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 java.util.ArrayList;
23  import java.util.List;
24  
25  import junit.framework.TestCase;
26  import org.apache.maven.plugin.logging.Log;
27  import org.apache.maven.plugin.testing.SilentLog;
28  import org.apache.maven.plugins.changes.model.Release;
29  
30  /**
31   * @author Dennis Lundberg
32   * @version $Id: ReleaseUtilsTestCase.html 816598 2012-05-08 12:46:49Z hboutemy $
33   * @since 2.4
34   */
35  public class ReleaseUtilsTestCase extends TestCase
36  {
37      public void testMergeReleases()
38          throws Exception
39      {
40          Log log = new SilentLog();
41          ReleaseUtils releaseUtils = new ReleaseUtils( log );
42  
43          List firstReleases = new ArrayList();
44          List secondReleases = new ArrayList();
45          List mergedReleases;
46  
47          mergedReleases = releaseUtils.mergeReleases( firstReleases, secondReleases );
48          assertEquals( "Both empty", 0, mergedReleases.size() );
49  
50          Release release = new Release();
51          release.setVersion( "1.0" );
52          firstReleases.add( release );
53  
54          mergedReleases = releaseUtils.mergeReleases( firstReleases, secondReleases );
55          assertEquals( "One release in first", 1, mergedReleases.size() );
56  
57          release = new Release();
58          release.setVersion( "1.1" );
59          secondReleases.add( release );
60  
61          mergedReleases = releaseUtils.mergeReleases( firstReleases, secondReleases );
62          assertEquals( "One release each", 2, mergedReleases.size() );
63  
64          release = new Release();
65          release.setVersion( "1.1" );
66          firstReleases.add( release );
67  
68          mergedReleases = releaseUtils.mergeReleases( firstReleases, secondReleases );
69          assertEquals( "Two releases in first, one release in second with one version being the same",
70                        2, mergedReleases.size() );
71  
72          release = new Release();
73          release.setVersion( "1.2" );
74          secondReleases.add( release );
75  
76          mergedReleases = releaseUtils.mergeReleases( firstReleases, secondReleases );
77          assertEquals( "Two releases each with one version being the same", 3, mergedReleases.size() );
78      }
79  }