blob: 748ce415fdb6826216724bb744b9bc3b1612f351 [file] [log] [blame]
/*
* Created by IntelliJ IDEA.
* User: mike
* Date: Jun 14, 2002
* Time: 8:05:58 PM
* To change template for new class use
* Code Style | Class Templates options (Tools | IDE Options).
*/
package com.intellij.psi.util;
import com.intellij.psi.*;
import com.intellij.testFramework.LightCodeInsightTestCase;
import com.intellij.util.IncorrectOperationException;
import org.jetbrains.annotations.NonNls;
public class PropertyUtilTest extends LightCodeInsightTestCase {
public void testSuggestGetterName() throws Exception {
assertEquals("isValid", PropertyUtil.suggestGetterName("valid", getType("boolean")));
assertEquals("getValid", PropertyUtil.suggestGetterName("valid", getType("Object")));
assertEquals("isValid", PropertyUtil.suggestGetterName(createField("valid", "boolean")));
assertEquals("getValid", PropertyUtil.suggestGetterName(createField("valid", "Object")));
assertEquals("getURL", PropertyUtil.suggestGetterName("URL", getType("Object")));
assertEquals("getURL", PropertyUtil.suggestGetterName(createField("URL", "Object")));
assertEquals("isaURL", PropertyUtil.suggestGetterName(createField("aURL", "boolean")));
assertEquals("getaURL", PropertyUtil.suggestGetterName(createField("aURL", "Object")));
assertEquals("getBool", PropertyUtil.suggestGetterName(createField("bool", "java.lang.Boolean")));
}
public void testSuggestSetterName() throws Exception {
assertEquals("setValid", PropertyUtil.suggestSetterName("valid"));
assertEquals("setValid", PropertyUtil.suggestSetterName(createField("valid", "Object")));
assertEquals("setURL", PropertyUtil.suggestSetterName("URL"));
assertEquals("setURL", PropertyUtil.suggestSetterName(createField("URL", "Object")));
assertEquals("setaURL", PropertyUtil.suggestSetterName("aURL"));
assertEquals("setaURL", PropertyUtil.suggestSetterName(createField("aURL", "Object")));
assertEquals("setBool", PropertyUtil.suggestSetterName(createField("bool", "java.lang.Boolean")));
}
public void testSuggestPropertyName() throws Exception {
assertEquals("valid", PropertyUtil.getPropertyName("isValid"));
assertEquals("valid", PropertyUtil.getPropertyName("getValid"));
assertEquals("valid", PropertyUtil.getPropertyName("setValid"));
assertEquals("URL", PropertyUtil.getPropertyName("isURL"));
assertEquals("URL", PropertyUtil.getPropertyName("getURL"));
assertEquals("URL", PropertyUtil.getPropertyName("setURL"));
assertEquals("aURL", PropertyUtil.getPropertyName("isaURL"));
assertEquals("aURL", PropertyUtil.getPropertyName("getaURL"));
assertEquals("aURL", PropertyUtil.getPropertyName("setaURL"));
}
public void testBooleanPropertyGetters() {
assertTrue(PropertyUtil.hasGetterName(createMethod("isOk", "boolean")));
assertFalse(PropertyUtil.hasGetterName(createMethod("isOk", CommonClassNames.JAVA_LANG_BOOLEAN)));
assertTrue(PropertyUtil.hasGetterName(createMethod("getOk", CommonClassNames.JAVA_LANG_BOOLEAN)));
assertFalse(PropertyUtil.hasGetterName(createMethod("isOk", "int")));
}
private static PsiType getType(@NonNls String type) throws IncorrectOperationException {
return PsiElementFactory.SERVICE.getInstance(ourProject).createTypeFromText(type, null);
}
private static PsiField createField(@NonNls String name, @NonNls String type) throws IncorrectOperationException {
return PsiElementFactory.SERVICE.getInstance(ourProject).createField(name, getType(type));
}
private static PsiMethod createMethod(@NonNls String name, String type) throws IncorrectOperationException {
return PsiElementFactory.SERVICE.getInstance(ourProject).createMethod(name, getType(type));
}
}