added tests for Options - especially sensitive to enumerations

This commit is contained in:
Rick Giles 2002-11-14 23:47:51 +00:00
parent 788044ce81
commit 2cb0dc8423
2 changed files with 123 additions and 4 deletions

View File

@ -4,9 +4,9 @@ import junit.framework.Test;
import junit.framework.TestSuite;
/**
* Enter a description of class AllTests.java.
* Enter a description of class AllTests1.java.
* @author Rick Giles
* @version 13-Nov-2002
* @version 14-Nov-2002
*/
public class AllTests {
@ -24,6 +24,8 @@ public class AllTests {
suite.addTest(new TestSuite(EqualsHashCodeCheckTest.class));
suite.addTest(new TestSuite(FileLengthCheckTest.class));
suite.addTest(new TestSuite(GenericIllegalRegexpCheckTest.class));
suite.addTest(new TestSuite(GlobalPropertiesSerializationTest.class));
suite.addTest(new TestSuite(GlobalPropertiesTest.class));
suite.addTest(new TestSuite(HeaderCheckTest.class));
suite.addTest(new TestSuite(HiddenFieldCheckTest.class));
suite.addTest(new TestSuite(IllegalImportCheckTest.class));
@ -46,6 +48,7 @@ public class AllTests {
suite.addTest(new TestSuite(NoWhitespaceBeforeCheckTest.class));
suite.addTest(new TestSuite(OperatorWrapCheckTest.class));
suite.addTest(new TestSuite(OtherLeftCurlyCheckTest.class));
suite.addTest(new TestSuite(PackageHtmlCheckTest.class));
suite.addTest(new TestSuite(PackageNameCheckTest.class));
suite.addTest(new TestSuite(ParameterNameCheckTest.class));
suite.addTest(new TestSuite(ParameterNumberCheckTest.class));
@ -69,8 +72,7 @@ public class AllTests {
suite.addTest(new TestSuite(VisibilityModifierCheckTest.class));
suite.addTest(new TestSuite(WhitespaceAfterCheckTest.class));
suite.addTest(new TestSuite(WhitespaceAroundTest.class));
suite.addTest(new TestSuite(GlobalPropertiesSerializationTest.class));
suite.addTest(new TestSuite(GlobalPropertiesTest.class));
suite.addTest(new TestSuite(OptionTest.class));
//$JUnit-END$
return suite;
}

View File

@ -0,0 +1,117 @@
package com.puppycrawl.tools.checkstyle;
import com.puppycrawl.tools.checkstyle.checks.AbstractOption;
import com.puppycrawl.tools.checkstyle.checks.BlockOption;
import com.puppycrawl.tools.checkstyle.checks.LeftCurlyCheck;
import com.puppycrawl.tools.checkstyle.checks.LeftCurlyOption;
import com.puppycrawl.tools.checkstyle.checks.OperatorWrapOption;
import com.puppycrawl.tools.checkstyle.checks.PadOption;
import com.puppycrawl.tools.checkstyle.checks.RightCurlyOption;
import junit.framework.TestCase;
/**
* @author Rick Giles
* @version 14-Nov-2002
*/
public class OptionTest extends TestCase {
/**
* Constructor for OptionTest.
* @param arg0
*/
public OptionTest(String arg0) {
super(arg0);
}
public void testBlockOption()
{
BlockOption stmtOpt = BlockOption.STMT;
assertEquals("STMT", "statement", stmtOpt.toString());
BlockOption textOpt = BlockOption.TEXT;
assertEquals("TEXT", "text", textOpt.toString());
BlockOption stmtDecode = (BlockOption)(stmtOpt.decode("statement"));
assertTrue("STMT decode", stmtOpt == stmtDecode);
BlockOption textDecode = (BlockOption)(stmtOpt.decode("text"));
assertTrue("TEXT decode", textOpt == textDecode);
}
public void testLeftCurlyOption()
{
LeftCurlyOption eolOpt = LeftCurlyOption.EOL;
assertEquals("EOL", "eol", eolOpt.toString());
LeftCurlyOption nlOpt = LeftCurlyOption.NL;
assertEquals("NL", "nl", nlOpt.toString());
LeftCurlyOption nlowOpt = LeftCurlyOption.NLOW;
assertEquals("NLOW", "nlow", nlowOpt.toString());
LeftCurlyOption eolDecode = (LeftCurlyOption)(eolOpt.decode("eol"));
assertTrue("EOL decode", eolOpt == eolDecode);
LeftCurlyOption nlDecode = (LeftCurlyOption)(nlOpt.decode("nl"));
assertTrue("NL decode", nlOpt == nlDecode);
LeftCurlyOption nlowDecode = (LeftCurlyOption)(nlowOpt.decode("nlow"));
assertTrue("NL decode", nlowOpt == nlowDecode);
}
public void testOperatorWrapOption()
{
OperatorWrapOption eolOpt = OperatorWrapOption.EOL;
assertEquals("EOL", "eol", eolOpt.toString());
OperatorWrapOption nlOpt = OperatorWrapOption.NL;
assertEquals("NL", "nl", nlOpt.toString());
OperatorWrapOption eolDecode = (OperatorWrapOption)(eolOpt.decode("eol"));
assertTrue("EOL decode", eolOpt == eolDecode);
OperatorWrapOption nlDecode = (OperatorWrapOption)(nlOpt.decode("nl"));
assertTrue("NL decode", nlOpt == nlDecode);
}
public void testPadOption()
{
PadOption ignoreOpt = PadOption.IGNORE;
assertEquals("IGNORE", "ignore", ignoreOpt.toString());
PadOption nospaceOpt = PadOption.NOSPACE;
assertEquals("NOSPACE", "nospace", nospaceOpt.toString());
PadOption spaceOpt = PadOption.SPACE;
assertEquals("SPACE", "space", spaceOpt.toString());
PadOption ignoreDecode = (PadOption)(ignoreOpt.decode("ignore"));
assertTrue("IGNORE decode", ignoreOpt == ignoreDecode);
PadOption nospaceDecode = (PadOption)(nospaceOpt.decode("nospace"));
assertTrue("NOSPACE decode", nospaceOpt == nospaceDecode);
PadOption spaceDecode = (PadOption)(spaceOpt.decode("space"));
assertTrue("SPACE decode", spaceOpt == spaceDecode);
}
public void testRightCurlyOption()
{
RightCurlyOption aloneOpt = RightCurlyOption.ALONE;
assertEquals("ALONE", "alone", aloneOpt.toString());
RightCurlyOption sameOpt = RightCurlyOption.SAME;
assertEquals("SAME", "same", sameOpt.toString());
RightCurlyOption aloneDecode = (RightCurlyOption)(aloneOpt.decode("alone"));
assertTrue("ALONE decode", aloneOpt == aloneDecode);
RightCurlyOption sameDecode = (RightCurlyOption)(sameOpt.decode("same"));
assertTrue("SAME decode", sameOpt == sameDecode);
}
public void testEqualKeys()
{
LeftCurlyOption eolLeftCurl = LeftCurlyOption.EOL;
LeftCurlyOption eolLeftCurlDecode =
(LeftCurlyOption)(eolLeftCurl.decode("eol"));
OperatorWrapOption eolOpWrap = OperatorWrapOption.EOL;
OperatorWrapOption eolOpWrapDecode =
(OperatorWrapOption)(eolOpWrap.decode("eol"));
assertTrue("eol",
(AbstractOption)eolLeftCurlDecode
!= (AbstractOption)eolOpWrapDecode);
LeftCurlyOption nlLeftCurl = LeftCurlyOption.NL;
LeftCurlyOption nlLeftCurlDecode =
(LeftCurlyOption)(nlLeftCurl.decode("nl"));
OperatorWrapOption nlOpWrap = OperatorWrapOption.NL;
OperatorWrapOption nlOpWrapDecode =
(OperatorWrapOption)(nlOpWrap.decode("eol"));
assertTrue("nl",
(AbstractOption)nlLeftCurlDecode
!= (AbstractOption)nlOpWrapDecode);
}
}