Initial import
[jpf-core.git] / src / tests / gov / nasa / jpf / vm / multiProcess / StringTest.java
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.vm.multiProcess;
20
21 import java.io.IOException;
22
23 import org.junit.Test;
24
25 import gov.nasa.jpf.util.test.TestMultiProcessJPF;
26
27 /**
28  * @author Nastaran Shafiei <nastaran.shafiei@gmail.com>
29  */
30 public class StringTest extends TestMultiProcessJPF {
31   String[] args = {};
32   
33   @Test
34   public void testInterns() throws IOException {
35     
36     if (mpVerifyNoPropertyViolation(2, args)) {
37       String s0 = "something"; // interned string
38       String s1 = new String("something"); // a new string which is not interned
39       String s2 = s1.intern(); // taken from intern table
40       String s3 = "something".intern(); // taken from intern table
41       
42       assertSame(s0.getClass(), java.lang.String.class);
43       assertSame(s1.getClass(), java.lang.String.class);
44       
45       assertEquals(s0,s1);
46       assertFalse(s0==s1);
47       
48       assertSame(s0,s2);
49       assertSame(s0,s3);
50     }
51   }
52 }