/**********************************************************************
* Copyright (c) 2005-2009 ant4eclipse project team.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Nils Hartmann, Daniel Kasmeroglu, Gerd Wuetherich
**********************************************************************/
package org.ant4eclipse.lib.core;
import org.ant4eclipse.lib.core.ClassName;
import org.junit.Assert;
import org.junit.Test;
import java.util.LinkedList;
public class ClassNameTest {
@Test
public void qualifiedName() {
String CLASSNAME = "net.sf.ant4eclipse.ClasspathTask";
ClassName className = ClassName.fromQualifiedClassName(CLASSNAME);
Assert.assertNotNull(className);
Assert.assertEquals(CLASSNAME, className.getQualifiedClassName());
Assert.assertEquals(CLASSNAME, className.toString());
Assert.assertEquals("net.sf.ant4eclipse", className.getPackageName());
Assert.assertEquals("ClasspathTask", className.getClassName());
Assert.assertEquals("net/sf/ant4eclipse/ClasspathTask.class", className.asClassFileName());
Assert.assertEquals("net/sf/ant4eclipse/ClasspathTask.java", className.asSourceFileName());
Assert.assertEquals("net/sf/ant4eclipse", className.getPackageAsDirectoryName());
}
@Test
public void singlePackage() {
String CLASSNAME = "net.ClasspathTask";
ClassName className = ClassName.fromQualifiedClassName(CLASSNAME);
Assert.assertNotNull(className);
Assert.assertEquals(CLASSNAME, className.getQualifiedClassName());
Assert.assertEquals(CLASSNAME, className.toString());
Assert.assertEquals("net", className.getPackageName());
Assert.assertEquals("ClasspathTask", className.getClassName());
Assert.assertEquals("net/ClasspathTask.class", className.asClassFileName());
Assert.assertEquals("net/ClasspathTask.java", className.asSourceFileName());
Assert.assertEquals("net", className.getPackageAsDirectoryName());
}
@Test
public void shortPackage() {
String CLASSNAME = "n.ClasspathTask";
ClassName className = ClassName.fromQualifiedClassName(CLASSNAME);
Assert.assertNotNull(className);
Assert.assertEquals(CLASSNAME, className.getQualifiedClassName());
Assert.assertEquals(CLASSNAME, className.toString());
Assert.assertEquals("n", className.getPackageName());
Assert.assertEquals("ClasspathTask", className.getClassName());
Assert.assertEquals("n/ClasspathTask.class", className.asClassFileName());
Assert.assertEquals("n/ClasspathTask.java", className.asSourceFileName());
Assert.assertEquals("n", className.getPackageAsDirectoryName());
}
@Test
public void shortClassName() {
String CLASSNAME = "n.C";
ClassName className = ClassName.fromQualifiedClassName(CLASSNAME);
Assert.assertNotNull(className);
Assert.assertEquals(CLASSNAME, className.getQualifiedClassName());
Assert.assertEquals(CLASSNAME, className.toString());
Assert.assertEquals("n", className.getPackageName());
Assert.assertEquals("C", className.getClassName());
Assert.assertEquals("n/C.class", className.asClassFileName());
Assert.assertEquals("n/C.java", className.asSourceFileName());
}
@Test
public void equalObjects() {
String CLASSNAME = "net.sf.ant4eclipse.ClasspathTask";
ClassName className1 = ClassName.fromQualifiedClassName(CLASSNAME);
ClassName className2 = ClassName.fromQualifiedClassName(CLASSNAME);
Assert.assertNotSame(className1, className2);
Assert.assertEquals(className1.hashCode(), className2.hashCode());
Assert.assertTrue(className1.equals(className1));
Assert.assertTrue(className2.equals(className2));
Assert.assertTrue(className1.equals(className2));
Assert.assertTrue(className2.equals(className1));
Assert.assertFalse(className1.equals(null));
Assert.assertFalse(className1.equals(new LinkedList<Object>()));
Assert.assertFalse(className1.equals(ClassName.fromQualifiedClassName("com.wuetherich.Test")));
Assert.assertFalse(className1.equals(ClassName.fromQualifiedClassName("net.sf.ant4eclipse.ClasspathTaskTest")));
Assert.assertFalse(className1.equals(ClassName.fromQualifiedClassName("com.wuetherich.ClasspathTask")));
}
@Test
public void withoutPackage() {
String CLASSNAME = "C";
ClassName className = ClassName.fromQualifiedClassName(CLASSNAME);
Assert.assertNotNull(className);
Assert.assertEquals(CLASSNAME, className.getQualifiedClassName());
Assert.assertEquals(CLASSNAME, className.toString());
Assert.assertEquals("", className.getPackageName());
Assert.assertEquals("C", className.getClassName());
Assert.assertEquals("C.class", className.asClassFileName());
Assert.assertEquals("C.java", className.asSourceFileName());
}
} /* ENDCLASS */