001: package org.drools.eclipse.editors.completion;
002:
003: import org.eclipse.jdt.core.Signature;
004:
005: import junit.framework.TestCase;
006:
007: public class CompletionUtilTest extends TestCase {
008:
009: public void testIsGetter() {
010: assertTrue(CompletionUtil.isGetter("getThis", 0, "String"));
011: }
012:
013: public void testIsGetterCannotReturnVoid() {
014: assertFalse(CompletionUtil.isGetter("getThis", 0,
015: Signature.SIG_VOID));
016: }
017:
018: public void testIsGetterWrongPrefix() {
019: assertFalse(CompletionUtil.isGetter("hasThis", 0,
020: Signature.SIG_VOID));
021: }
022:
023: public void testIsGetterTooManyArgs() {
024: assertFalse(CompletionUtil.isGetter("getThis", 2, "String"));
025: }
026:
027: public void testIsGetterMethodNameTooShort() {
028: assertFalse(CompletionUtil.isGetter("get", 2, "String"));
029: }
030:
031: public void testIsIsGetter() {
032: assertTrue(CompletionUtil.isIsGetter("isGood", 0,
033: Signature.SIG_BOOLEAN));
034: }
035:
036: public void testIsIsGetterWrongPrefix() {
037: assertFalse(CompletionUtil.isIsGetter("getThis", 0,
038: Signature.SIG_BOOLEAN));
039: }
040:
041: public void testIsIsGetterAlwaysReturnsBoolean() {
042: assertFalse(CompletionUtil.isIsGetter("isThis", 0,
043: Signature.SIG_VOID));
044: }
045:
046: public void testIsIsGetterTooManyArgs() {
047: assertFalse(CompletionUtil.isIsGetter("isThis", 2, "String"));
048: }
049:
050: public void testIsIsGetterMethodNameTooShort() {
051: assertFalse(CompletionUtil.isIsGetter("is", 2, "String"));
052: }
053:
054: public void testIsSetter() {
055: assertTrue(CompletionUtil.isSetter("setThat", 1,
056: Signature.SIG_VOID));
057: }
058:
059: public void testIsSetterWrongPrefix() {
060: assertFalse(CompletionUtil.isSetter("getThat", 1,
061: Signature.SIG_VOID));
062: }
063:
064: public void testIsSetterTooShort() {
065: assertFalse(CompletionUtil
066: .isSetter("se", 1, Signature.SIG_VOID));
067: }
068:
069: public void testIsSetterNoArgs() {
070: assertFalse(CompletionUtil.isSetter("setThat", 0,
071: Signature.SIG_VOID));
072: }
073:
074: public void testIsSetterWrongType() {
075: assertFalse(CompletionUtil.isSetter("setThat", 1, "String"));
076: }
077:
078: public void testGetPropertyName() {
079: assertEquals("me", CompletionUtil.getPropertyName("getMe", 0,
080: "String"));
081: assertEquals("me", CompletionUtil.getPropertyName("isMe", 0,
082: Signature.SIG_BOOLEAN));
083: assertEquals("me", CompletionUtil.getPropertyName("setMe", 1,
084: Signature.SIG_VOID));
085:
086: assertEquals("setMe", CompletionUtil.getPropertyName("setMe",
087: 0, Signature.SIG_VOID));
088:
089: assertEquals("MySuperMethod", CompletionUtil.getPropertyName(
090: "MySuperMethod", 1, Signature.SIG_VOID));
091: }
092:
093: public void testGetPropertyNameStripsParenthesis() {
094:
095: assertEquals("MySuperMethod()", CompletionUtil.getPropertyName(
096: "MySuperMethod()", 1, Signature.SIG_VOID));
097: assertEquals("me", CompletionUtil.getPropertyName("getMe()", 0,
098: "String"));
099: assertEquals("me", CompletionUtil.getPropertyName("isMe()", 0,
100: Signature.SIG_BOOLEAN));
101: assertEquals("me", CompletionUtil.getPropertyName("setMe()", 1,
102: Signature.SIG_VOID));
103: }
104:
105: public void testStripLastWord() {
106: String backtext = "rule \"GoodBye\"\r\n"
107: + " no-loop true\r\n"
108: + " when\r\n"
109: + " m : Message( status == Message.GOODBYE, message : message )\r\n"
110: + " then\r\n" + " m.message=message;\r\n" + " m.last";
111:
112: String lastword = "last";
113: assertEquals(lastword, CompletionUtil.stripLastWord(backtext));
114: }
115: }
|