From cae4686fc61413691c623bcdd6eb63423e99dd22 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sun, 28 Aug 2016 22:50:57 +0100 Subject: Remove usage of make it easy --- .../tests/documents/DocumentElementMakers.java | 133 ++++++++++++++------- 1 file changed, 88 insertions(+), 45 deletions(-) (limited to 'src/test/java/org/zwobble/mammoth/tests/documents/DocumentElementMakers.java') diff --git a/src/test/java/org/zwobble/mammoth/tests/documents/DocumentElementMakers.java b/src/test/java/org/zwobble/mammoth/tests/documents/DocumentElementMakers.java index 0fefd26..433c968 100644 --- a/src/test/java/org/zwobble/mammoth/tests/documents/DocumentElementMakers.java +++ b/src/test/java/org/zwobble/mammoth/tests/documents/DocumentElementMakers.java @@ -1,62 +1,105 @@ package org.zwobble.mammoth.tests.documents; -import com.natpryce.makeiteasy.Instantiator; -import com.natpryce.makeiteasy.Property; import org.zwobble.mammoth.internal.documents.*; +import org.zwobble.mammoth.tests.Argument; +import org.zwobble.mammoth.tests.ArgumentKey; +import org.zwobble.mammoth.tests.Arguments; import java.util.List; import java.util.Optional; -import static com.natpryce.makeiteasy.MakeItEasy.a; -import static com.natpryce.makeiteasy.MakeItEasy.make; -import static com.natpryce.makeiteasy.MakeItEasy.with; -import static com.natpryce.makeiteasy.Property.newProperty; +import static java.util.Arrays.asList; import static org.zwobble.mammoth.internal.util.Lists.list; +import static org.zwobble.mammoth.tests.Argument.arg; -public class -DocumentElementMakers { - public static final Property> STYLE = newProperty(); - public static final Property> NUMBERING = newProperty(); - public static final Property BOLD = newProperty(); - public static final Property ITALIC = newProperty(); - public static final Property UNDERLINE = newProperty(); - public static final Property STRIKETHROUGH = newProperty(); - public static final Property VERTICAL_ALIGNMENT = newProperty(); - public static final Property> CHILDREN = newProperty(); - public static final Property COLSPAN = newProperty(); - public static final Property ROWSPAN = newProperty(); - - public static final Instantiator PARAGRAPH = - propertyLookup -> new Paragraph( - propertyLookup.valueOf(STYLE, Optional.empty()), - propertyLookup.valueOf(NUMBERING, Optional.empty()), - propertyLookup.valueOf(CHILDREN, list())); - - public static final Instantiator RUN = - propertyLookup -> new Run( - propertyLookup.valueOf(BOLD, false), - propertyLookup.valueOf(ITALIC, false), - propertyLookup.valueOf(UNDERLINE, false), - propertyLookup.valueOf(STRIKETHROUGH, false), - propertyLookup.valueOf(VERTICAL_ALIGNMENT, VerticalAlignment.BASELINE), - propertyLookup.valueOf(STYLE, Optional.empty()), - propertyLookup.valueOf(CHILDREN, list())); - - public static final Instantiator TABLE_CELL = - propertyLookup -> new TableCell( - propertyLookup.valueOf(ROWSPAN, 1), - propertyLookup.valueOf(COLSPAN, 1), - propertyLookup.valueOf(CHILDREN, list())); - - public static TableCell tableCell(List children) { - return make(a(TABLE_CELL, with(CHILDREN, children))); +public class DocumentElementMakers { + private static final ArgumentKey> STYLE = new ArgumentKey<>("style"); + private static final ArgumentKey> NUMBERING = new ArgumentKey<>("numbering"); + private static final ArgumentKey BOLD = new ArgumentKey<>("bold"); + private static final ArgumentKey ITALIC = new ArgumentKey<>("italic"); + private static final ArgumentKey UNDERLINE = new ArgumentKey<>("underline"); + private static final ArgumentKey STRIKETHROUGH = new ArgumentKey<>("strikethrough"); + private static final ArgumentKey VERTICAL_ALIGNMENT = new ArgumentKey<>("verticalAlignment"); + private static final ArgumentKey> CHILDREN = new ArgumentKey<>("children"); + private static final ArgumentKey COLSPAN = new ArgumentKey<>("colspan"); + private static final ArgumentKey ROWSPAN = new ArgumentKey<>("rowspan"); + + public static Argument> withStyle(Style style) { + return arg(STYLE, Optional.of(style)); + } + + public static Argument> withNumbering(NumberingLevel numbering) { + return arg(NUMBERING, Optional.of(numbering)); + } + + public static Argument withBold(boolean bold) { + return arg(BOLD, bold); + } + + public static Argument withItalic(boolean italic) { + return arg(ITALIC, italic); + } + + public static Argument withUnderline(boolean underline) { + return arg(UNDERLINE, underline); + } + + public static Argument withStrikethrough(boolean strikethrough) { + return arg(STRIKETHROUGH, strikethrough); + } + + public static Argument withVerticalAlignment(VerticalAlignment verticalAlignment) { + return arg(VERTICAL_ALIGNMENT, verticalAlignment); + } + + public static Argument> withChildren(DocumentElement... children) { + return arg(CHILDREN, asList(children)); + } + + public static Argument withRowspan(Integer rowspan) { + return arg(ROWSPAN, rowspan); + } + + public static Argument withColspan(Integer colspan) { + return arg(COLSPAN, colspan); + } + + public static Paragraph paragraph(Object... args) { + Arguments arguments = new Arguments(args); + return new Paragraph( + arguments.get(STYLE, Optional.empty()), + arguments.get(NUMBERING, Optional.empty()), + arguments.get(CHILDREN, list()) + ); + } + + public static Run run(Object... args) { + Arguments arguments = new Arguments(args); + return new Run( + arguments.get(BOLD, false), + arguments.get(ITALIC, false), + arguments.get(UNDERLINE, false), + arguments.get(STRIKETHROUGH, false), + arguments.get(VERTICAL_ALIGNMENT, VerticalAlignment.BASELINE), + arguments.get(STYLE, Optional.empty()), + arguments.get(CHILDREN, list()) + ); + } + + public static TableCell tableCell(Object... args) { + Arguments arguments = new Arguments(args); + return new TableCell( + arguments.get(ROWSPAN, 1), + arguments.get(COLSPAN, 1), + arguments.get(CHILDREN, list()) + ); } public static Paragraph paragraphWithText(String text) { - return make(a(PARAGRAPH, with(CHILDREN, list(runWithText(text))))); + return paragraph(withChildren(runWithText(text))); } public static Run runWithText(String text) { - return make(a(RUN, with(CHILDREN, list(new Text(text))))); + return run(withChildren(new Text(text))); } } -- cgit v1.2.3