comparison src/tests/gov/nasa/jpf/util/MethodSpecTest.java @ 0:61d41facf527

initial v8 import (history reset)
author Peter Mehlitz <Peter.C.Mehlitz@nasa.gov>
date Fri, 23 Jan 2015 10:14:01 -0800
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:61d41facf527
1 /*
2 * Copyright (C) 2014, United States Government, as represented by the
3 * Administrator of the National Aeronautics and Space Administration.
4 * All rights reserved.
5 *
6 * The Java Pathfinder core (jpf-core) platform is licensed under the
7 * Apache License, Version 2.0 (the "License"); you may not use this file except
8 * in compliance 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, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
17 */
18
19 package gov.nasa.jpf.util;
20
21 import gov.nasa.jpf.util.test.TestJPF;
22
23 import org.junit.Test;
24
25 /**
26 * unit test for MethodSpecs
27 */
28 public class MethodSpecTest extends TestJPF {
29
30 @Test
31 public void testConstruction(){
32
33 //-- should be all non-null
34 String spec = "x.y.Foo.bar(java.lang.String,^float[])";
35 MethodSpec ms = MethodSpec.createMethodSpec(spec);
36 System.out.println(spec + " => " + ms);
37 assertTrue(ms != null);
38
39 spec = "x.y.Foo+.*";
40 ms = MethodSpec.createMethodSpec(spec);
41 System.out.println(spec + " => " + ms);
42 assertTrue(ms != null);
43
44 spec = "*.foo(^int, ^double)";
45 ms = MethodSpec.createMethodSpec(spec);
46 System.out.println(spec + " => " + ms);
47 assertTrue(ms != null);
48
49 spec = "( ^int, ^double)";
50 ms = MethodSpec.createMethodSpec(spec);
51 System.out.println(spec + " => " + ms);
52 assertTrue(ms != null);
53
54 spec = ".foo";
55 ms = MethodSpec.createMethodSpec(spec);
56 System.out.println(spec + " => " + ms);
57 assertTrue(ms != null);
58
59 spec = ".(int)";
60 ms = MethodSpec.createMethodSpec(spec);
61 System.out.println(spec + " => " + ms);
62 assertTrue(ms != null);
63
64 spec = "!java.*.*"; // first '*' belongs to class spec, second to method
65 ms = MethodSpec.createMethodSpec(spec);
66 System.out.println(ms);
67 assertTrue(ms != null);
68
69 spec = "java.*"; // not what you think - the class spec is "java" and the method is "*"
70 ms = MethodSpec.createMethodSpec(spec);
71 System.out.println(ms);
72
73
74 //--- should all produce null
75
76 spec = "*.foo(^int, ^double"; // missing ')'
77 ms = MethodSpec.createMethodSpec(spec);
78 System.out.println(spec + " => " + ms);
79 assertTrue(ms == null);
80
81
82 //System.out.println("matches (java.lang.Object,*): " +
83 // ms.matches("java.lang.Object", "*"));
84
85 }
86 }