Home | History | Annotate | Download | only in report
      1 /*******************************************************************************
      2  * Copyright (c) 2009, 2018 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  *******************************************************************************/
     12 package org.jacoco.report;
     13 
     14 import static org.junit.Assert.assertEquals;
     15 
     16 import org.junit.Before;
     17 import org.junit.Test;
     18 
     19 /**
     20  * Unit tests for {@link JavaNames}.
     21  */
     22 public 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