Should hamcrest static imports not also be wildcart imports?

Sent from my iPhone

> On 2014/10/03, at 12:39, [email protected] wrote:
> 
> Use ILC and literate assertions.
> 
> 
> Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
> Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/1ce4c812
> Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/1ce4c812
> Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/1ce4c812
> 
> Branch: refs/heads/master
> Commit: 1ce4c812d916c73dfc991412dd37fe9d99b02dbf
> Parents: b077943
> Author: Matt Sicker <[email protected]>
> Authored: Thu Oct 2 22:38:48 2014 -0500
> Committer: Matt Sicker <[email protected]>
> Committed: Thu Oct 2 22:38:48 2014 -0500
> 
> ----------------------------------------------------------------------
> .../core/config/xml/XmlLoggerPropsTest.java     | 67 ++++++++++----------
> 1 file changed, 32 insertions(+), 35 deletions(-)
> ----------------------------------------------------------------------
> 
> 
> http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/1ce4c812/log4j-core/src/test/java/org/apache/logging/log4j/core/config/xml/XmlLoggerPropsTest.java
> ----------------------------------------------------------------------
> diff --git 
> a/log4j-core/src/test/java/org/apache/logging/log4j/core/config/xml/XmlLoggerPropsTest.java
>  
> b/log4j-core/src/test/java/org/apache/logging/log4j/core/config/xml/XmlLoggerPropsTest.java
> index a17e06a..2aa0456 100644
> --- 
> a/log4j-core/src/test/java/org/apache/logging/log4j/core/config/xml/XmlLoggerPropsTest.java
> +++ 
> b/log4j-core/src/test/java/org/apache/logging/log4j/core/config/xml/XmlLoggerPropsTest.java
> @@ -18,69 +18,66 @@ package org.apache.logging.log4j.core.config.xml;
> 
> import java.util.List;
> 
> -import static org.junit.Assert.assertNotNull;
> -import static org.junit.Assert.assertTrue;
> -
> import org.apache.logging.log4j.LogManager;
> import org.apache.logging.log4j.Logger;
> -import org.apache.logging.log4j.core.LoggerContext;
> -import org.apache.logging.log4j.core.config.Configuration;
> -import org.apache.logging.log4j.core.config.ConfigurationFactory;
> -import org.apache.logging.log4j.status.StatusLogger;
> +import org.apache.logging.log4j.junit.InitialLoggerContext;
> import org.apache.logging.log4j.test.appender.ListAppender;
> -import org.junit.AfterClass;
> import org.junit.BeforeClass;
> +import org.junit.Rule;
> import org.junit.Test;
> 
> +import static org.hamcrest.Matchers.allOf;
> +import static org.hamcrest.Matchers.both;
> +import static org.hamcrest.Matchers.containsString;
> +import static org.hamcrest.Matchers.equalTo;
> +import static org.hamcrest.Matchers.greaterThan;
> +import static org.hamcrest.Matchers.hasSize;
> +import static org.hamcrest.Matchers.instanceOf;
> +import static org.hamcrest.Matchers.is;
> +import static org.junit.Assert.*;
> +
> /**
>  *
>  */
> public class XmlLoggerPropsTest {
> 
>     private static final String CONFIG = "log4j-loggerprops.xml";
> -    private static Configuration config;
> -    private static ListAppender listAppender;
> -    private static LoggerContext ctx;
> +
> +    @Rule
> +    public final InitialLoggerContext context = new 
> InitialLoggerContext(CONFIG);
> 
>     @BeforeClass
>     public static void setupClass() {
> -        System.setProperty(ConfigurationFactory.CONFIGURATION_FILE_PROPERTY, 
> CONFIG);
>         System.setProperty("test", "test");
> -        ctx = (LoggerContext) LogManager.getContext(false);
> -        config = ctx.getConfiguration();
> -        listAppender = (ListAppender) config.getAppender("List");
> -    }
> -
> -    @AfterClass
> -    public static void cleanupClass() {
> -        
> System.clearProperty(ConfigurationFactory.CONFIGURATION_FILE_PROPERTY);
> -        ctx.reconfigure();
> -        StatusLogger.getLogger().reset();
>     }
> 
>     @Test
>     public void testWithProps() {
> +        final ListAppender listAppender = context.getListAppender("List");
>         assertNotNull("No List Appender", listAppender);
> 
>         try {
> -            assertTrue("Configuration is not an XmlConfiguration", config 
> instanceof XmlConfiguration);
> +            assertThat(context.getConfiguration(), 
> is(instanceOf(XmlConfiguration.class)));
>             Logger logger = LogManager.getLogger(XmlLoggerPropsTest.class);
>             logger.debug("Test with props");
>             logger = LogManager.getLogger("tiny.bubbles");
>             logger.debug("Test on root");
>             final List<String> events = listAppender.getMessages();
> -            assertTrue("No events", events.size() > 0);
> -            assertTrue("Incorrect number of events", events.size() == 2);
> -            assertTrue("Incorrect value", events.get(0).contains("user="));
> -            assertTrue("Incorrect value", 
> events.get(0).contains("phrasex=****"));
> -            assertTrue("Incorrect value", 
> events.get(0).contains("test=test"));
> -            assertTrue("Incorrect value", 
> events.get(0).contains("test2=test2default"));
> -            assertTrue("Incorrect value", 
> events.get(0).contains("test3=Unknown"));
> -            assertTrue("Incorrect value", events.get(1).contains("user="));
> -            assertTrue("Incorrect value", 
> events.get(1).contains("phrasex=****"));
> -            assertTrue("Incorrect value", 
> events.get(1).contains("test=test"));
> -            assertTrue("Incorrect value", 
> events.get(1).contains("test2=test2default"));
> -            assertTrue("Incorrect value", 
> events.get(1).contains("test3=Unknown"));
> +            assertThat("Incorrect number of events", events, 
> both(hasSize(greaterThan(0))).and(hasSize(equalTo(2))));
> +            assertThat(events.get(0), allOf(
> +                containsString("user="),
> +                containsString("phrasex=****"),
> +                containsString("test=test"),
> +                containsString("test2=test2default"),
> +                containsString("test3=Unknown")
> +            ));
> +            assertThat(events.get(1), allOf(
> +                containsString("user="),
> +                containsString("phrasex=****"),
> +                containsString("test=test"),
> +                containsString("test2=test2default"),
> +                containsString("test3=Unknown")
> +            ));
>         } finally {
>             System.clearProperty("test");
>         }
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to