From f78189def02911d1de26db1d60eefcaf935ffbbf Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Mon, 28 Nov 2016 12:36:29 +0000 Subject: Add BreakMatcher --- .../mammoth/internal/styles/BreakMatcher.java | 19 +++++++++++++++++++ .../mammoth/tests/styles/BreakMatcherTests.java | 22 ++++++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 src/main/java/org/zwobble/mammoth/internal/styles/BreakMatcher.java create mode 100644 src/test/java/org/zwobble/mammoth/tests/styles/BreakMatcherTests.java (limited to 'src') 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 { + 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)); + } +} -- cgit v1.2.3