1/******************************************************************************* 2 * Copyright (c) 2009, 2015 Mountainminds GmbH & Co. KG and Contributors 3 * All rights reserved. This program and the accompanying materials 4 * are made available under the terms of the Eclipse Public License v1.0 5 * which accompanies this distribution, and is available at 6 * http://www.eclipse.org/legal/epl-v10.html 7 * 8 * Contributors: 9 * Marc R. Hoffmann - initial API and implementation 10 * 11 *******************************************************************************/ 12package org.jacoco.report; 13 14import static org.junit.Assert.assertEquals; 15 16import org.junit.Before; 17import org.junit.Test; 18 19/** 20 * Unit tests for {@link JavaNames}. 21 */ 22public class JavaNamesTest { 23 24 private ILanguageNames names; 25 26 @Before 27 public void setup() { 28 names = new JavaNames(); 29 } 30 31 @Test 32 public void testGetPackageName1() { 33 assertEquals("default", names.getPackageName("")); 34 } 35 36 @Test 37 public void testGetPackageName2() { 38 assertEquals("java.lang", names.getPackageName("java/lang")); 39 } 40 41 @Test 42 public void testGetClassName1() { 43 assertEquals("Main", names.getClassName("Main", null, null, null)); 44 } 45 46 @Test 47 public void testGetClassName2() { 48 assertEquals("Object", 49 names.getClassName("java/lang/Object", null, null, null)); 50 } 51 52 @Test 53 public void testGetClassName3() { 54 assertEquals("Map.Entry", 55 names.getClassName("java/util/Map$Entry", null, null, null)); 56 } 57 58 @Test 59 public void testGetClassName4() { 60 assertEquals("Bar.new Object() {...}", names.getClassName( 61 "com/foo/Bar$1", null, "java/lang/Object", new String[0])); 62 } 63 64 @Test 65 public void testGetClassName5() { 66 assertEquals("Bar.new ISample() {...}", names.getClassName( 67 "com/foo/Bar$1", null, "java/lang/Object", 68 new String[] { "org/foo/ISample" })); 69 } 70 71 @Test 72 public void testGetClassName6() { 73 assertEquals("Bar.1", 74 names.getClassName("com/foo/Bar$1", null, null, null)); 75 } 76 77 @Test 78 public void testGetClassName7() { 79 assertEquals("Strange.", 80 names.getClassName("com/foo/Strange$", null, null, null)); 81 } 82 83 @Test 84 public void testGetQualifiedClassName1() { 85 assertEquals("Foo", names.getQualifiedClassName("Foo")); 86 } 87 88 @Test 89 public void testGetQualifiedClassName2() { 90 assertEquals("java.lang.Object", 91 names.getQualifiedClassName("java/lang/Object")); 92 } 93 94 @Test 95 public void testGetQualifiedClassName3() { 96 assertEquals("java.util.Map.Entry", 97 names.getQualifiedClassName("java/util/Map$Entry")); 98 } 99 100 @Test 101 public void testGetMethodName1() { 102 assertEquals("wait()", 103 names.getMethodName("java/lang/Object", "wait", "()V", null)); 104 } 105 106 @Test 107 public void testGetMethodName2() { 108 assertEquals("remove(Object)", 109 names.getMethodName("java/util/Collection", "remove", 110 "(Ljava/lang/Object;)V", null)); 111 } 112 113 @Test 114 public void testGetMethodName3() { 115 assertEquals("remove(int)", 116 names.getMethodName("java/util/List", "remove", "(I)V", null)); 117 } 118 119 @Test 120 public void testGetMethodName4() { 121 assertEquals("add(int, Object)", names.getMethodName("java/util/List", 122 "add", "(ILjava/lang/Object;)V", null)); 123 } 124 125 @Test 126 public void testGetMethodName5() { 127 assertEquals("sort(Object[])", names.getMethodName("java/util/Arrays", 128 "sort", "([Ljava/lang/Object;)V", null)); 129 } 130 131 @Test 132 public void testGetMethodName6() { 133 assertEquals("Object()", 134 names.getMethodName("java/lang/Object", "<init>", "()V", null)); 135 } 136 137 @Test 138 public void testGetMethodName7() { 139 assertEquals("static {...}", names.getMethodName( 140 "com/example/SomeClass", "<clinit>", "()V", null)); 141 } 142 143 @Test 144 public void testGetMethodName8() { 145 assertEquals("update(Map.Entry)", names.getMethodName( 146 "com/example/SomeClass", "update", "(Ljava/util/Map$Entry;)V", 147 null)); 148 } 149 150 @Test 151 public void testGetMethodName9() { 152 assertEquals("{...}", names.getMethodName("com/example/SomeClass$1", 153 "<init>", "()V", null)); 154 } 155 156 @Test 157 public void testGetQualifiedMethodName() { 158 assertEquals("java.util.List.add(int, java.lang.Object)", 159 names.getQualifiedMethodName("java/util/List", "add", 160 "(ILjava/lang/Object;)V", null)); 161 } 162 163} 164