update SeverityMatchFilter

This commit is contained in:
Rick Giles 2003-07-16 10:19:49 +00:00
parent e9d1dff32e
commit 27235bb91e
3 changed files with 91 additions and 2 deletions

View File

@ -36,6 +36,9 @@ public class SeverityMatchFilter
/** the severity level to accept */
private SeverityLevel mSeverityLevel = SeverityLevel.ERROR;
/** whether to accept or reject on severity matches */
private boolean mAcceptOnMatch = true;
/**
* Sets the severity level. The string should be one of the names
* defined in the <code>SeverityLevel</code> class.
@ -48,6 +51,15 @@ public class SeverityMatchFilter
mSeverityLevel = SeverityLevel.getInstance(aSeverity);
}
/**
* Sets whether to accept or reject on matching severity level.
* @param aAcceptOnMatch if true, accept on matches; if
* false, reject on matches.
*/
public final void setAcceptOnMatch(boolean aAcceptOnMatch)
{
mAcceptOnMatch = aAcceptOnMatch;
}
/** @see com.puppycrawl.tools.checkstyle.filter.Filter */
public boolean accept(Object aObject)
@ -57,7 +69,12 @@ public class SeverityMatchFilter
}
final AuditEvent event = (AuditEvent) aObject;
return mSeverityLevel.equals(event.getSeverityLevel());
boolean result = mSeverityLevel.equals(event.getSeverityLevel());
if (mAcceptOnMatch) {
return result;
}
else {
return !result;
}
}
}

View File

@ -18,6 +18,7 @@ public class AllTests
suite.addTest(new TestSuite(IntMatchFilterTest.class));
suite.addTest(new TestSuite(IntRangeFilterTest.class));
suite.addTest(new TestSuite(CSVFilterTest.class));
suite.addTest(new TestSuite(SeverityMatchFilterTest.class));
suite.addTest(new TestSuite(SuppressElementTest.class));
//$JUnit-END$
return suite;

View File

@ -0,0 +1,71 @@
package com.puppycrawl.tools.checkstyle.filters;
import org.apache.regexp.RESyntaxException;
import com.puppycrawl.tools.checkstyle.api.AuditEvent;
import com.puppycrawl.tools.checkstyle.api.LocalizedMessage;
import com.puppycrawl.tools.checkstyle.api.SeverityLevel;
import junit.framework.TestCase;
/** Tests SeverityMatchFilter */
public class SeverityMatchFilterTest extends TestCase
{
private SeverityMatchFilter filter;
public void setUp()
throws RESyntaxException
{
filter = new SeverityMatchFilter();
}
public void testDefault()
{
final AuditEvent ev = new AuditEvent(this, "Test.java");
assertFalse("no message", filter.accept(ev));
SeverityLevel level = SeverityLevel.ERROR;
LocalizedMessage message =
new LocalizedMessage(0, 0, "", "", null, level, this.getClass());
final AuditEvent ev2 = new AuditEvent(this, "ATest.java", message);
assertTrue("level:" + level, filter.accept(ev2));
level = SeverityLevel.INFO;
message = new LocalizedMessage(0, 0, "", "", null, level, this.getClass());
final AuditEvent ev3 = new AuditEvent(this, "ATest.java", message);
assertFalse("level:" + level, filter.accept(ev3));
}
public void testSeverity()
{
filter.setSeverity("info");
final AuditEvent ev = new AuditEvent(this, "Test.java");
// event with no message has severity level INFO
assertTrue("no message", filter.accept(ev));
SeverityLevel level = SeverityLevel.ERROR;
LocalizedMessage message =
new LocalizedMessage(0, 0, "", "", null, level, this.getClass());
final AuditEvent ev2 = new AuditEvent(this, "ATest.java", message);
assertFalse("level:" + level, filter.accept(ev2));
level = SeverityLevel.INFO;
message = new LocalizedMessage(0, 0, "", "", null, level, this.getClass());
final AuditEvent ev3 = new AuditEvent(this, "ATest.java", message);
assertTrue("level:" + level, filter.accept(ev3));
}
public void testAcceptOnMatch()
{
filter.setSeverity("info");
filter.setAcceptOnMatch(false);
final AuditEvent ev = new AuditEvent(this, "Test.java");
// event with no message has severity level INFO
assertFalse("no message", filter.accept(ev));
SeverityLevel level = SeverityLevel.ERROR;
LocalizedMessage message =
new LocalizedMessage(0, 0, "", "", null, level, this.getClass());
final AuditEvent ev2 = new AuditEvent(this, "ATest.java", message);
assertTrue("level:" + level, filter.accept(ev2));
level = SeverityLevel.INFO;
message = new LocalizedMessage(0, 0, "", "", null, level, this.getClass());
final AuditEvent ev3 = new AuditEvent(this, "ATest.java", message);
assertFalse("level:" + level, filter.accept(ev3));
}
}