16ddec9b70e3592b19a7a9d9e1800d680a8ab14b9Ivan Gavrilovic/* 26ddec9b70e3592b19a7a9d9e1800d680a8ab14b9Ivan Gavrilovic * Copyright (C) 2017 The Android Open Source Project 36ddec9b70e3592b19a7a9d9e1800d680a8ab14b9Ivan Gavrilovic * 46ddec9b70e3592b19a7a9d9e1800d680a8ab14b9Ivan Gavrilovic * Licensed under the Apache License, Version 2.0 (the "License"); 56ddec9b70e3592b19a7a9d9e1800d680a8ab14b9Ivan Gavrilovic * you may not use this file except in compliance with the License. 66ddec9b70e3592b19a7a9d9e1800d680a8ab14b9Ivan Gavrilovic * You may obtain a copy of the License at 76ddec9b70e3592b19a7a9d9e1800d680a8ab14b9Ivan Gavrilovic * 86ddec9b70e3592b19a7a9d9e1800d680a8ab14b9Ivan Gavrilovic * http://www.apache.org/licenses/LICENSE-2.0 96ddec9b70e3592b19a7a9d9e1800d680a8ab14b9Ivan Gavrilovic * 106ddec9b70e3592b19a7a9d9e1800d680a8ab14b9Ivan Gavrilovic * Unless required by applicable law or agreed to in writing, software 116ddec9b70e3592b19a7a9d9e1800d680a8ab14b9Ivan Gavrilovic * distributed under the License is distributed on an "AS IS" BASIS, 126ddec9b70e3592b19a7a9d9e1800d680a8ab14b9Ivan Gavrilovic * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 136ddec9b70e3592b19a7a9d9e1800d680a8ab14b9Ivan Gavrilovic * See the License for the specific language governing permissions and 146ddec9b70e3592b19a7a9d9e1800d680a8ab14b9Ivan Gavrilovic * limitations under the License. 156ddec9b70e3592b19a7a9d9e1800d680a8ab14b9Ivan Gavrilovic */ 166ddec9b70e3592b19a7a9d9e1800d680a8ab14b9Ivan Gavrilovic 176ddec9b70e3592b19a7a9d9e1800d680a8ab14b9Ivan Gavrilovicpackage com.android.dx.rop.cst; 186ddec9b70e3592b19a7a9d9e1800d680a8ab14b9Ivan Gavrilovic 196ddec9b70e3592b19a7a9d9e1800d680a8ab14b9Ivan Gavrilovicimport com.android.dx.rop.type.Type; 206ddec9b70e3592b19a7a9d9e1800d680a8ab14b9Ivan Gavrilovicimport org.junit.Test; 216ddec9b70e3592b19a7a9d9e1800d680a8ab14b9Ivan Gavrilovic 226ddec9b70e3592b19a7a9d9e1800d680a8ab14b9Ivan Gavrilovicimport static org.junit.Assert.assertEquals; 236ddec9b70e3592b19a7a9d9e1800d680a8ab14b9Ivan Gavrilovicimport static org.junit.Assert.assertFalse; 246ddec9b70e3592b19a7a9d9e1800d680a8ab14b9Ivan Gavrilovicimport static org.junit.Assert.assertTrue; 256ddec9b70e3592b19a7a9d9e1800d680a8ab14b9Ivan Gavrilovic 266ddec9b70e3592b19a7a9d9e1800d680a8ab14b9Ivan Gavrilovicpublic class CstTypeTest { 276ddec9b70e3592b19a7a9d9e1800d680a8ab14b9Ivan Gavrilovic 286ddec9b70e3592b19a7a9d9e1800d680a8ab14b9Ivan Gavrilovic 296ddec9b70e3592b19a7a9d9e1800d680a8ab14b9Ivan Gavrilovic @Test 306ddec9b70e3592b19a7a9d9e1800d680a8ab14b9Ivan Gavrilovic public void checkClearInternTable() { 316ddec9b70e3592b19a7a9d9e1800d680a8ab14b9Ivan Gavrilovic CstType boolArray = CstType.BOOLEAN_ARRAY; 326ddec9b70e3592b19a7a9d9e1800d680a8ab14b9Ivan Gavrilovic assertTrue(boolArray == CstType.intern(Type.BOOLEAN_ARRAY)); 336ddec9b70e3592b19a7a9d9e1800d680a8ab14b9Ivan Gavrilovic CstType myClass = CstType.intern(Type.intern("Lcom/example/Foo;")); 346ddec9b70e3592b19a7a9d9e1800d680a8ab14b9Ivan Gavrilovic 356ddec9b70e3592b19a7a9d9e1800d680a8ab14b9Ivan Gavrilovic CstType.clearInternTable(); 366ddec9b70e3592b19a7a9d9e1800d680a8ab14b9Ivan Gavrilovic Type.clearInternTable(); 376ddec9b70e3592b19a7a9d9e1800d680a8ab14b9Ivan Gavrilovic 386ddec9b70e3592b19a7a9d9e1800d680a8ab14b9Ivan Gavrilovic assertTrue(boolArray == CstType.intern(Type.BOOLEAN_ARRAY)); 396ddec9b70e3592b19a7a9d9e1800d680a8ab14b9Ivan Gavrilovic CstType myClass2 = CstType.intern(Type.intern("Lcom/example/Foo;")); 406ddec9b70e3592b19a7a9d9e1800d680a8ab14b9Ivan Gavrilovic assertEquals(myClass.getClassType(), myClass2.getClassType()); 416ddec9b70e3592b19a7a9d9e1800d680a8ab14b9Ivan Gavrilovic assertFalse(myClass == myClass2); 426ddec9b70e3592b19a7a9d9e1800d680a8ab14b9Ivan Gavrilovic } 436ddec9b70e3592b19a7a9d9e1800d680a8ab14b9Ivan Gavrilovic}