Discussion:
[6/6] git commit: Use ILC and literate assertions.
Remko Popma
2014-10-03 05:46:47 UTC
Permalink
Should hamcrest static imports not also be wildcart imports?

Sent from my iPhone
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
Authored: Thu Oct 2 22:38:48 2014 -0500
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;
+
+ 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");
- }
-
- 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");
}
Matt Sicker
2014-10-03 06:31:56 UTC
Permalink
I think we should add static org.hamcrest.Matchers.*
Post by Remko Popma
Should hamcrest static imports not also be wildcart imports?
Sent from my iPhone
Use ILC and literate assertions.
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/1ce4c812
http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/1ce4c812
http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/1ce4c812
Branch: refs/heads/master
Commit: 1ce4c812d916c73dfc991412dd37fe9d99b02dbf
Parents: b077943
Authored: Thu Oct 2 22:38:48 2014 -0500
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;
+
+ 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");
- }
-
- 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");
}
---------------------------------------------------------------------
--
Matt Sicker <***@gmail.com>
Remko Popma
2014-10-03 06:44:53 UTC
Permalink
+1 Makes sense to me...

Sent from my iPhone
Post by Matt Sicker
I think we should add static org.hamcrest.Matchers.*
Post by Remko Popma
Should hamcrest static imports not also be wildcart imports?
Sent from my iPhone
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
Authored: Thu Oct 2 22:38:48 2014 -0500
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;
+
+ 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");
- }
-
- 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");
}
---------------------------------------------------------------------
--
Loading...