aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2016-11-28 12:36:29 +0000
committerMichael Williamson <mike@zwobble.org>2016-11-28 12:36:29 +0000
commitf78189def02911d1de26db1d60eefcaf935ffbbf (patch)
treeada415e325d5453df42e9ff0852f7afb5c0723de /src
parent9085e20dfdc9883e4eafebdac342fc5ade851659 (diff)
Add BreakMatcher
Diffstat (limited to 'src')
-rw-r--r--src/main/java/org/zwobble/mammoth/internal/styles/BreakMatcher.java19
-rw-r--r--src/test/java/org/zwobble/mammoth/tests/styles/BreakMatcherTests.java22
2 files changed, 41 insertions, 0 deletions
diff --git a/src/main/java/org/zwobble/mammoth/internal/styles/BreakMatcher.java b/src/main/java/org/zwobble/mammoth/internal/styles/BreakMatcher.java
new file mode 100644
index 0000000..a32feda
--- /dev/null
+++ b/src/main/java/org/zwobble/mammoth/internal/styles/BreakMatcher.java
@@ -0,0 +1,19 @@
+package org.zwobble.mammoth.internal.styles;
+
+import org.zwobble.mammoth.internal.documents.Break;
+
+public class BreakMatcher implements DocumentElementMatcher<Break> {
+ public static final BreakMatcher LINE_BREAK = new BreakMatcher(Break.Type.LINE);
+ public static final BreakMatcher PAGE_BREAK = new BreakMatcher(Break.Type.PAGE);
+
+ private final Break.Type breakType;
+
+ private BreakMatcher(Break.Type breakType) {
+ this.breakType = breakType;
+ }
+
+ @Override
+ public boolean matches(Break element) {
+ return element.getType().equals(breakType);
+ }
+}
diff --git a/src/test/java/org/zwobble/mammoth/tests/styles/BreakMatcherTests.java b/src/test/java/org/zwobble/mammoth/tests/styles/BreakMatcherTests.java
new file mode 100644
index 0000000..f33ef72
--- /dev/null
+++ b/src/test/java/org/zwobble/mammoth/tests/styles/BreakMatcherTests.java
@@ -0,0 +1,22 @@
+package org.zwobble.mammoth.tests.styles;
+
+import org.junit.Test;
+import org.zwobble.mammoth.internal.documents.Break;
+import org.zwobble.mammoth.internal.styles.BreakMatcher;
+
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.equalTo;
+
+public class BreakMatcherTests {
+ @Test
+ public void whenBreakHasDifferentTypeToBreakMatcherThenMatchFails() {
+ assertThat(BreakMatcher.LINE_BREAK.matches(Break.PAGE_BREAK), equalTo(false));
+ assertThat(BreakMatcher.PAGE_BREAK.matches(Break.LINE_BREAK), equalTo(false));
+ }
+
+ @Test
+ public void whenBreakHasTheSameTypeAsBreakMatcherThenMatchSucceeds() {
+ assertThat(BreakMatcher.LINE_BREAK.matches(Break.LINE_BREAK), equalTo(true));
+ assertThat(BreakMatcher.PAGE_BREAK.matches(Break.PAGE_BREAK), equalTo(true));
+ }
+}