1   /*
2    *  XNap
3    *
4    *  A pure java file sharing client.
5    *
6    *  See AUTHORS for copyright information.
7    *
8    *  This program is free software; you can redistribute it and/or modify
9    *  it under the terms of the GNU General Public License as published by
10   *  the Free Software Foundation; either version 2 of the License, or
11   *  (at your option) any later version.
12   *
13   *  This program is distributed in the hope that it will be useful,
14   *  but WITHOUT ANY WARRANTY; without even the implied warranty of
15   *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16   *  GNU General Public License for more details.
17   *
18   *  You should have received a copy of the GNU General Public License
19   *  along with this program; if not, write to the Free Software
20   *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
21   *
22   */
23  package org.xnap.pkg;
24  
25  import junit.framework.TestCase;
26  
27  /***
28   * @author Steffen Pingel
29   */
30  public class DefaultDependencyParserTest extends TestCase {
31      
32      private DefaultDependencyParser parser;
33  
34      public DefaultDependencyParserTest(String name) 
35      {
36  		super(name);
37      }
38  
39      protected void setUp()
40      {
41  		parser = new DefaultDependencyParser();
42      }
43  
44      protected void tearDown()
45      {
46  		parser = null;
47      }
48  
49      public void testPipe() throws ParseException
50      {
51  		AbstractToken token = parser.parse("P1 (=1.3) | P2");
52  		AbstractToken token2 = parser.parse("  P2  | P1 ( = 1.3 )  ");
53  		assertEquals(token, token2);
54  		assertTrue(token instanceof PipeToken);
55  		PipeToken pt = (PipeToken)token;
56  		assertTrue(pt.depends.length == 2);
57  		assertEquals(pt.depends[0], new PackageToken("P1", "=", "1.3"));
58  		assertEquals(pt.depends[1], new PackageToken("P2", null, null));
59      }
60  
61      public void testEquals() throws ParseException
62      {
63  		AbstractToken token = parser.parse("Package (=1.3)");
64  		AbstractToken token2 = parser.parse(" Package ( = 1.3 ) ");
65  		assertEquals(token, token2);
66  		assertEquals(token, new PackageToken("Package", "=", "1.3"));
67  		PackageToken pt = (PackageToken)token; 
68  		assertFalse(pt.equalsVersion(-1));
69  		assertTrue(pt.equalsVersion(0));
70  		assertFalse(pt.equalsVersion(1));
71      }
72  
73      public void testGreaterOrEquals() throws ParseException
74      {
75  		AbstractToken token = parser.parse("Package (>=1.3)");
76  		AbstractToken token2 = parser.parse("Package  ( >=  1.3  ) ");
77  		assertEquals(token, token2);
78  		PackageToken pt = (PackageToken)token; 
79  		assertEquals(token2, new PackageToken("Package", ">=", "1.3"));
80  		assertFalse(pt.equalsVersion(-1));
81  		assertTrue(pt.equalsVersion(0));
82  		assertTrue(pt.equalsVersion(1));
83      }
84  
85  }