Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Source code: hivemind/test/TestLocation.java


1   // Copyright 2004, 2005 The Apache Software Foundation
2   //
3   // Licensed under the Apache License, Version 2.0 (the "License");
4   // you may not use this file except in compliance with the License.
5   // You may obtain a copy of the License at
6   //
7   //     http://www.apache.org/licenses/LICENSE-2.0
8   //
9   // Unless required by applicable law or agreed to in writing, software
10  // distributed under the License is distributed on an "AS IS" BASIS,
11  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  // See the License for the specific language governing permissions and
13  // limitations under the License.
14  
15  package hivemind.test;
16  
17  import org.apache.hivemind.Location;
18  import org.apache.hivemind.Resource;
19  import org.apache.hivemind.impl.LocationImpl;
20  import org.apache.hivemind.util.ClasspathResource;
21  
22  /**
23   * Test the {@link org.apache.hivemind.impl.LocationImpl} class.
24   * 
25   * @author Howard Lewis Ship
26   */
27  public class TestLocation extends FrameworkTestCase
28  {
29      private final Resource _resource1 = new ClasspathResource(_resolver, "/somepackage/somefile");
30  
31      private final Resource _resource2 = new ClasspathResource(_resolver,
32              "/someotherpackage/someotherfile");
33  
34      private Resource _location = new ClasspathResource(null, "/META-INF/foo.bar");
35  
36      public void testNoNumbers()
37      {
38          Location l = new LocationImpl(_location);
39  
40          assertSame(_location, l.getResource());
41          assertTrue(l.getLineNumber() <= 0);
42          assertTrue(l.getColumnNumber() <= 0);
43      }
44  
45      public void testToStringShort()
46      {
47          Location l = new LocationImpl(_location);
48  
49          assertEquals("classpath:/META-INF/foo.bar", l.toString());
50      }
51  
52      public void testWithLine()
53      {
54          Location l = new LocationImpl(_location, 22);
55  
56          assertEquals(22, l.getLineNumber());
57          assertEquals("classpath:/META-INF/foo.bar, line 22", l.toString());
58      }
59  
60      public void testWithNumbers()
61      {
62          Location l = new LocationImpl(_location, 100, 15);
63  
64          assertEquals(100, l.getLineNumber());
65          assertEquals(15, l.getColumnNumber());
66      }
67  
68      public void testToStringLong()
69      {
70          Location l = new LocationImpl(_location, 97, 3);
71  
72          assertEquals("classpath:/META-INF/foo.bar, line 97, column 3", l.toString());
73      }
74  
75      public void testEqualsBare()
76      {
77          Location l1 = new LocationImpl(_resource1);
78  
79          assertEquals(true, l1.equals(new LocationImpl(_resource1)));
80  
81          assertEquals(false, l1.equals(new LocationImpl(_resource2)));
82          assertEquals(false, l1.equals(new LocationImpl(_resource1, 10)));
83      }
84  
85      public void testEqualsLineNo()
86      {
87          Location l1 = new LocationImpl(_resource1, 10);
88  
89          assertEquals(true, l1.equals(new LocationImpl(_resource1, 10)));
90          assertEquals(false, l1.equals(new LocationImpl(_resource1, 11)));
91          assertEquals(false, l1.equals(new LocationImpl(_resource2, 10)));
92          assertEquals(false, l1.equals(new LocationImpl(_resource1, 10, 1)));
93      }
94  
95      public void testEqualsFull()
96      {
97          Location l1 = new LocationImpl(_resource1, 10, 5);
98  
99          assertEquals(true, l1.equals(new LocationImpl(_resource1, 10, 5)));
100         assertEquals(false, l1.equals(new LocationImpl(_resource1, 10, 6)));
101         assertEquals(false, l1.equals(new LocationImpl(_resource1, 11, 5)));
102         assertEquals(false, l1.equals(new LocationImpl(_resource2, 10, 5)));
103     }
104 
105     public void testHashCodeBare()
106     {
107         Location l1 = new LocationImpl(_resource1);
108         Location l2 = new LocationImpl(_resource1);
109 
110         assertEquals(l1.hashCode(), l2.hashCode());
111     }
112 
113     public void testHashCodeLineNo()
114     {
115         Location l1 = new LocationImpl(_resource1, 15);
116         Location l2 = new LocationImpl(_resource1, 15);
117 
118         assertEquals(l1.hashCode(), l2.hashCode());
119     }
120 
121     public void testHashCodeFull()
122     {
123         Location l1 = new LocationImpl(_resource1, 15, 20);
124         Location l2 = new LocationImpl(_resource1, 15, 20);
125 
126         assertEquals(l1.hashCode(), l2.hashCode());
127     }
128 
129 }