001/* 002 * Licensed to the Apache Software Foundation (ASF) under one 003 * or more contributor license agreements. See the NOTICE file 004 * distributed with this work for additional information 005 * regarding copyright ownership. The ASF licenses this file 006 * to you under the Apache License, Version 2.0 (the 007 * "License"); you may not use this file except in compliance 008 * with the License. You may obtain a copy of the License at 009 * 010 * http://www.apache.org/licenses/LICENSE-2.0 011 * 012 * Unless required by applicable law or agreed to in writing, 013 * software distributed under the License is distributed on an 014 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 015 * KIND, either express or implied. See the License for the 016 * specific language governing permissions and limitations 017 * under the License. 018 */ 019 020package org.apache.maven.toolchain; 021 022import junit.framework.TestCase; 023 024/** 025 * 026 * @author mkleint 027 */ 028public class RequirementMatcherFactoryTest 029 extends TestCase 030{ 031 032 public RequirementMatcherFactoryTest( String testName ) 033 { 034 super( testName ); 035 } 036 037 /** 038 * Test of createExactMatcher method, of class RequirementMatcherFactory. 039 */ 040 public void testCreateExactMatcher() 041 { 042 RequirementMatcher matcher; 043 matcher = RequirementMatcherFactory.createExactMatcher( "foo" ); 044 assertFalse( matcher.matches( "bar" ) ); 045 assertFalse( matcher.matches( "foobar" ) ); 046 assertFalse( matcher.matches( "foob" ) ); 047 assertTrue( matcher.matches( "foo" ) ); 048 } 049 050 /** 051 * Test of createVersionMatcher method, of class RequirementMatcherFactory. 052 */ 053 public void testCreateVersionMatcher() 054 { 055 RequirementMatcher matcher; 056 matcher = RequirementMatcherFactory.createVersionMatcher( "1.5.2" ); 057 assertFalse( matcher.matches( "1.5" ) ); 058 assertTrue( matcher.matches( "1.5.2" ) ); 059 assertFalse( matcher.matches( "[1.4,1.5)" ) ); 060 assertFalse( matcher.matches( "[1.5,1.5.2)" ) ); 061 assertFalse( matcher.matches( "(1.5.2,1.6)" ) ); 062 assertTrue( matcher.matches( "(1.4,1.5.2]" ) ); 063 assertTrue( matcher.matches( "(1.5,)" ) ); 064 assertEquals( "1.5.2", matcher.toString() ); 065 066 // Ensure it is not printed as 1.5.0 067 matcher = RequirementMatcherFactory.createVersionMatcher( "1.5" ); 068 assertEquals( "1.5", matcher.toString() ); 069 070 } 071 072}