View Javadoc
1   /*
2    * Licensed to the Apache Software Foundation (ASF) under one
3    * or more contributor license agreements.  See the NOTICE file
4    * distributed with this work for additional information
5    * regarding copyright ownership.  The ASF licenses this file
6    * to you under the Apache License, Version 2.0 (the
7    * "License"); you may not use this file except in compliance
8    * with the License.  You may obtain a copy of the License at
9    *
10   *   http://www.apache.org/licenses/LICENSE-2.0
11   *
12   * Unless required by applicable law or agreed to in writing,
13   * software distributed under the License is distributed on an
14   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15   * KIND, either express or implied.  See the License for the
16   * specific language governing permissions and limitations
17   * under the License.
18   */
19  package org.eclipse.aether.util.graph.versions;
20  
21  import org.eclipse.aether.collection.VersionFilter;
22  import org.eclipse.aether.collection.VersionFilter.VersionFilterContext;
23  import org.eclipse.aether.util.graph.version.ContextualSnapshotVersionFilter;
24  import org.eclipse.aether.util.graph.version.SnapshotVersionFilter;
25  import org.junit.Test;
26  
27  import static org.junit.Assert.*;
28  
29  public class ContextualSnapshotVersionFilterTest extends AbstractVersionFilterTest {
30  
31      @Test
32      public void testFilterVersions() throws Exception {
33          VersionFilter filter = new ContextualSnapshotVersionFilter();
34          VersionFilterContext ctx = newContext("g:a:[1,9]", "1", "2-SNAPSHOT");
35          filter.filterVersions(ctx);
36          assertVersions(ctx, "1", "2-SNAPSHOT");
37  
38          ctx = newContext("g:a:[1,9]", "1", "2-SNAPSHOT");
39          derive(filter, "g:a:1").filterVersions(ctx);
40          assertVersions(ctx, "1");
41  
42          ctx = newContext("g:a:[1,9]", "1", "2-SNAPSHOT");
43          session.setConfigProperty(ContextualSnapshotVersionFilter.CONFIG_PROP_ENABLE, "true");
44          derive(filter, "g:a:1-SNAPSHOT").filterVersions(ctx);
45          assertVersions(ctx, "1");
46      }
47  
48      @Test
49      public void testDeriveChildFilter() {
50          ContextualSnapshotVersionFilter filter = new ContextualSnapshotVersionFilter();
51          assertTrue(derive(filter, "g:a:1") instanceof SnapshotVersionFilter);
52          assertSame(null, derive(filter, "g:a:1-SNAPSHOT"));
53          session.setConfigProperty(ContextualSnapshotVersionFilter.CONFIG_PROP_ENABLE, "true");
54          assertTrue(derive(filter, "g:a:1-SNAPSHOT") instanceof SnapshotVersionFilter);
55      }
56  
57      @SuppressWarnings("EqualsWithItself")
58      @Test
59      public void testEquals() {
60          ContextualSnapshotVersionFilter filter = new ContextualSnapshotVersionFilter();
61          assertNotEquals(null, filter);
62          assertEquals(filter, filter);
63          assertEquals(filter, new ContextualSnapshotVersionFilter());
64      }
65  }