001: package org.incava.doctorj;
002:
003: import junit.framework.TestCase;
004: import org.incava.analysis.Violation;
005:
006: public class TestInterfaceDocAnalyzer extends TestTypeDocAnalyzer {
007: public TestInterfaceDocAnalyzer(String name) {
008: super (name);
009: }
010:
011: public void testInterfaceAuthorWithText() {
012: evaluate("/** This is a description.\n"
013: + " * @author e. e. cummings\n" + " */\n"
014: + "interface TestInterfaceAuthorTag {\n" + "}\n",
015: new Violation[] {});
016:
017: evaluate("/** This is a description.\n" + " * @author I\n"
018: + " */\n" + "interface TestInterfaceAuthorTag {\n"
019: + "}\n", new Violation[] {});
020:
021: evaluate("/** This is a description.\n" + " * @author fred\n"
022: + " */\n" + "interface TestInterfaceAuthorTag {\n"
023: + "}\n", new Violation[] {});
024: }
025:
026: public void testInterfaceAuthorWithoutText() {
027: evaluate("/** This is a description.\n" + " * @author\n"
028: + " */\n" + "interface TestInterfaceAuthorTag {\n"
029: + "}\n", new Violation[] { new Violation(
030: TypeDocAnalyzer.MSG_AUTHOR_WITHOUT_NAME, 2, 5, 2, 11) });
031: }
032:
033: public void testInterfaceAuthorWithoutTextSpaces() {
034: evaluate("/** This is a description.\n" + " * @author \n"
035: + " */\n" + "interface TestInterfaceAuthorTag {\n"
036: + "}\n", new Violation[] { new Violation(
037: TypeDocAnalyzer.MSG_AUTHOR_WITHOUT_NAME, 2, 5, 2, 11) });
038:
039: evaluate("/** This is a description.\n" + " * @author \n"
040: + " */\n" + "interface TestInterfaceAuthorTag {\n"
041: + "}\n", new Violation[] { new Violation(
042: TypeDocAnalyzer.MSG_AUTHOR_WITHOUT_NAME, 2, 5, 2, 11) });
043: }
044:
045: public void testInterfaceVersionWithText() {
046: evaluate("/** This is a description.\n"
047: + " * @version 1.1.2\n" + " */\n"
048: + "interface TestInterfaceVersionTag {\n" + "}\n",
049: new Violation[] {});
050:
051: evaluate("/** This is a description.\n" + " * @version 1\n"
052: + " */\n" + "interface TestInterfaceVersionTag {\n"
053: + "}\n", new Violation[] {});
054: }
055:
056: public void testInterfaceVersionWithoutText() {
057: evaluate("/** This is a description.\n" + " * @version\n"
058: + " */\n" + "interface TestInterfaceVersionTag {\n"
059: + "}\n",
060: new Violation[] { new Violation(
061: TypeDocAnalyzer.MSG_VERSION_WITHOUT_TEXT, 2, 5,
062: 2, 12) });
063: }
064:
065: public void testInterfaceVersionWithoutTextSpaces() {
066: evaluate("/** This is a description.\n" + " * @version \n"
067: + " */\n" + "interface TestInterfaceVersionTag {\n"
068: + "}\n",
069: new Violation[] { new Violation(
070: TypeDocAnalyzer.MSG_VERSION_WITHOUT_TEXT, 2, 5,
071: 2, 12) });
072:
073: evaluate("/** This is a description.\n" + " * @version \n"
074: + " */\n" + "interface TestInterfaceVersionTag {\n"
075: + "}\n",
076: new Violation[] { new Violation(
077: TypeDocAnalyzer.MSG_VERSION_WITHOUT_TEXT, 2, 5,
078: 2, 12) });
079: }
080:
081: public void testInterfaceSerialWithText() {
082: evaluate("/** This is a description.\n"
083: + " * @serial This describes the serial field.\n"
084: + " */\n" + "interface TestInterfaceSerialTag {\n"
085: + "}\n", new Violation[] {});
086:
087: evaluate("/** This is a description.\n"
088: + " * @serial description\n" + " */\n"
089: + "interface TestInterfaceSerialTag {\n" + "}\n",
090: new Violation[] {});
091: }
092:
093: public void testInterfaceSerialWithoutText() {
094: evaluate("/** This is a description.\n" + " * @serial\n"
095: + " */\n" + "interface TestInterfaceSerialTag {\n"
096: + "}\n", new Violation[] { new Violation(
097: TypeDocAnalyzer.MSG_SERIAL_WITHOUT_TEXT, 2, 5, 2, 11) });
098: }
099:
100: public void testInterfaceSerialWithoutTextSpaces() {
101: evaluate("/** This is a description.\n" + " * @serial \n"
102: + " */\n" + "interface TestInterfaceSerialTag {\n"
103: + "}\n", new Violation[] { new Violation(
104: TypeDocAnalyzer.MSG_SERIAL_WITHOUT_TEXT, 2, 5, 2, 11) });
105:
106: evaluate("/** This is a description.\n" + " * @serial \n"
107: + " */\n" + "interface TestInterfaceSerialTag {\n"
108: + "}\n", new Violation[] { new Violation(
109: TypeDocAnalyzer.MSG_SERIAL_WITHOUT_TEXT, 2, 5, 2, 11) });
110: }
111:
112: }
|