001: package com.puppycrawl.tools.checkstyle;
002:
003: import com.puppycrawl.tools.checkstyle.checks.AbstractOption;
004: import com.puppycrawl.tools.checkstyle.checks.blocks.BlockOption;
005: import com.puppycrawl.tools.checkstyle.checks.blocks.LeftCurlyOption;
006: import com.puppycrawl.tools.checkstyle.checks.blocks.RightCurlyOption;
007: import com.puppycrawl.tools.checkstyle.checks.whitespace.OperatorWrapOption;
008: import com.puppycrawl.tools.checkstyle.checks.whitespace.PadOption;
009: import junit.framework.TestCase;
010:
011: /**
012: * @author Rick Giles
013: * @version 14-Nov-2002
014: */
015: public class OptionTest extends TestCase {
016:
017: public void testBlockOption() {
018: BlockOption stmtOpt = BlockOption.STMT;
019: assertEquals("STMT", "stmt", stmtOpt.toString());
020: BlockOption textOpt = BlockOption.TEXT;
021: assertEquals("TEXT", "text", textOpt.toString());
022: BlockOption stmtDecode = (BlockOption) (stmtOpt.decode("stmt"));
023: assertTrue("STMT decode", stmtOpt == stmtDecode);
024: BlockOption textDecode = (BlockOption) (stmtOpt.decode("text"));
025: assertTrue("TEXT decode", textOpt == textDecode);
026: }
027:
028: public void testLeftCurlyOption() {
029: LeftCurlyOption eolOpt = LeftCurlyOption.EOL;
030: assertEquals("EOL", "eol", eolOpt.toString());
031: LeftCurlyOption nlOpt = LeftCurlyOption.NL;
032: assertEquals("NL", "nl", nlOpt.toString());
033: LeftCurlyOption nlowOpt = LeftCurlyOption.NLOW;
034: assertEquals("NLOW", "nlow", nlowOpt.toString());
035: LeftCurlyOption eolDecode = (LeftCurlyOption) (eolOpt
036: .decode("eol"));
037: assertTrue("EOL decode", eolOpt == eolDecode);
038: LeftCurlyOption nlDecode = (LeftCurlyOption) (nlOpt
039: .decode("nl"));
040: assertTrue("NL decode", nlOpt == nlDecode);
041: LeftCurlyOption nlowDecode = (LeftCurlyOption) (nlowOpt
042: .decode("nlow"));
043: assertTrue("NL decode", nlowOpt == nlowDecode);
044: }
045:
046: public void testOperatorWrapOption() {
047: OperatorWrapOption eolOpt = OperatorWrapOption.EOL;
048: assertEquals("EOL", "eol", eolOpt.toString());
049: OperatorWrapOption nlOpt = OperatorWrapOption.NL;
050: assertEquals("NL", "nl", nlOpt.toString());
051: OperatorWrapOption eolDecode = (OperatorWrapOption) (eolOpt
052: .decode("eol"));
053: assertTrue("EOL decode", eolOpt == eolDecode);
054: OperatorWrapOption nlDecode = (OperatorWrapOption) (nlOpt
055: .decode("nl"));
056: assertTrue("NL decode", nlOpt == nlDecode);
057: }
058:
059: public void testPadOption() {
060: PadOption nospaceOpt = PadOption.NOSPACE;
061: assertEquals("NOSPACE", "nospace", nospaceOpt.toString());
062: PadOption spaceOpt = PadOption.SPACE;
063: assertEquals("SPACE", "space", spaceOpt.toString());
064: PadOption nospaceDecode = (PadOption) (nospaceOpt
065: .decode("nospace"));
066: assertTrue("NOSPACE decode", nospaceOpt == nospaceDecode);
067: PadOption spaceDecode = (PadOption) (spaceOpt.decode("space"));
068: assertTrue("SPACE decode", spaceOpt == spaceDecode);
069: }
070:
071: public void testRightCurlyOption() {
072: RightCurlyOption aloneOpt = RightCurlyOption.ALONE;
073: assertEquals("ALONE", "alone", aloneOpt.toString());
074: RightCurlyOption sameOpt = RightCurlyOption.SAME;
075: assertEquals("SAME", "same", sameOpt.toString());
076: RightCurlyOption aloneDecode = (RightCurlyOption) (aloneOpt
077: .decode("alone"));
078: assertTrue("ALONE decode", aloneOpt == aloneDecode);
079: RightCurlyOption sameDecode = (RightCurlyOption) (sameOpt
080: .decode("same"));
081: assertTrue("SAME decode", sameOpt == sameDecode);
082: }
083:
084: public void testEqualKeys() {
085: LeftCurlyOption eolLeftCurl = LeftCurlyOption.EOL;
086: LeftCurlyOption eolLeftCurlDecode = (LeftCurlyOption) (eolLeftCurl
087: .decode("eol"));
088: OperatorWrapOption eolOpWrap = OperatorWrapOption.EOL;
089: OperatorWrapOption eolOpWrapDecode = (OperatorWrapOption) (eolOpWrap
090: .decode("eol"));
091: assertTrue(
092: "eol",
093: (AbstractOption) eolLeftCurlDecode != (AbstractOption) eolOpWrapDecode);
094:
095: LeftCurlyOption nlLeftCurl = LeftCurlyOption.NL;
096: LeftCurlyOption nlLeftCurlDecode = (LeftCurlyOption) (nlLeftCurl
097: .decode("nl"));
098: OperatorWrapOption nlOpWrap = OperatorWrapOption.NL;
099: OperatorWrapOption nlOpWrapDecode = (OperatorWrapOption) (nlOpWrap
100: .decode("eol"));
101: assertTrue(
102: "nl",
103: (AbstractOption) nlLeftCurlDecode != (AbstractOption) nlOpWrapDecode);
104: }
105: }
|