diff --git a/approvaltests/src/main/java/org/approvaltests/MarkdownStoryBoard.java b/approvaltests/src/main/java/org/approvaltests/MarkdownStoryBoard.java index 675c0a21..c1e4004b 100644 --- a/approvaltests/src/main/java/org/approvaltests/MarkdownStoryBoard.java +++ b/approvaltests/src/main/java/org/approvaltests/MarkdownStoryBoard.java @@ -6,94 +6,96 @@ import org.approvaltests.strings.MarkdownCompatible; import org.lambda.functions.Function0; -public class MarkdownStoryBoard implements Verifiable { - @Override - public VerifyParameters getVerifyParameters(Options options) { - return new VerifyParameters(options.forFile().withExtension(".md")); - } - - enum Types { - None, Description, Frame, Custom - } - private StringBuffer stringBuffer = new StringBuffer(); - int index = 0; - private Types last = Types.None; - public static MarkdownStoryBoard createSequence(T initial, int additionalFrames, Function0 getNextFrame) - { - return new MarkdownStoryBoard().add(initial).addFrames(additionalFrames, getNextFrame); - } - public MarkdownStoryBoard add(T object) - { - String title = index == 0 ? "Initial" : "Frame #" + index; - return addFrame(title, object); - } - public MarkdownStoryBoard addFrame(String title, T frame) - { - addNewLines(Types.Frame); - String frameTitle = title; - String frameData = frame instanceof MarkdownCompatible ? (((MarkdownCompatible)frame).toMarkdown()) : frame.toString(); - stringBuffer.append(String.format("### %s:\n%s", frameTitle, frameData)); - index++; - return this; - } - private void addNewLines(Types type) +public class MarkdownStoryBoard implements Verifiable +{ + @Override + public VerifyParameters getVerifyParameters(Options options) + { + return new VerifyParameters(options.forFile().withExtension(".md")); + } + enum Types { + None, Description, Frame, Custom + } + private StringBuffer stringBuffer = new StringBuffer(); + int index = 0; + private Types last = Types.None; + public static MarkdownStoryBoard createSequence(T initial, int additionalFrames, Function0 getNextFrame) + { + return new MarkdownStoryBoard().add(initial).addFrames(additionalFrames, getNextFrame); + } + public MarkdownStoryBoard add(T object) + { + String title = index == 0 ? "Initial" : "Frame #" + index; + return addFrame(title, object); + } + public MarkdownStoryBoard addFrame(String title, T frame) + { + addNewLines(Types.Frame); + String frameTitle = title; + String frameData = frame instanceof MarkdownCompatible + ? (((MarkdownCompatible) frame).toMarkdown()) + : frame.toString(); + stringBuffer.append(String.format("### %s:\n%s", frameTitle, frameData)); + index++; + return this; + } + private void addNewLines(Types type) + { + switch (last) { - switch (last) + case None : + break; + case Description : + if (type != Types.Description) { - case None : - break; - case Description : - if (type != Types.Description) - { - stringBuffer.append("\n\n"); - } - break; - case Frame : - stringBuffer.append("\n\n"); - break; + stringBuffer.append("\n\n"); } - last = type; + break; + case Frame : + stringBuffer.append("\n\n"); + break; } - public MarkdownStoryBoard addFrames(int howMany, Function0 getNextFrame) + last = type; + } + public MarkdownStoryBoard addFrames(int howMany, Function0 getNextFrame) + { + for (int i = 0; i < howMany; i++) { - for (int i = 0; i < howMany; i++) - { - add(getNextFrame.call()); - } - return this; - } - @Override - public String toString() - { - return stringBuffer.toString(); - } - - public MarkdownStoryBoard addTitle(String title) - { - addNewLines(Types.Description); - stringBuffer.append("# " + title + "\n"); - return this; - } - public MarkdownStoryBoard addDescription(String description) - { - addNewLines(Types.Description); - stringBuffer.append("`" + description + "` \n"); - return this; - } - public MarkdownStoryBoard addFrame(T frame) - { - return add(frame); - } - public MarkdownStoryBoard addDescriptionWithData(String description, String data) - { - addNewLines(Types.Description); - stringBuffer.append("`" + description + ": " + data + "` \n"); - return this; - } - - public MarkdownStoryBoard addCustomMarkdown(String markdown) { - addNewLines(Types.Description); - stringBuffer.append(markdown); - return this; + add(getNextFrame.call()); } + return this; + } + @Override + public String toString() + { + return stringBuffer.toString(); + } + public MarkdownStoryBoard addTitle(String title) + { + addNewLines(Types.Description); + stringBuffer.append("# " + title + "\n"); + return this; + } + public MarkdownStoryBoard addDescription(String description) + { + addNewLines(Types.Description); + stringBuffer.append("`" + description + "` \n"); + return this; + } + public MarkdownStoryBoard addFrame(T frame) + { + return add(frame); + } + public MarkdownStoryBoard addDescriptionWithData(String description, String data) + { + addNewLines(Types.Description); + stringBuffer.append("`" + description + ": " + data + "` \n"); + return this; + } + public MarkdownStoryBoard addCustomMarkdown(String markdown) + { + addNewLines(Types.Description); + stringBuffer.append(markdown); + return this; + } }