All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.cukedoctor.renderer.CukedoctorExamplesRenderer Maven / Gradle / Ivy

The newest version!
package com.github.cukedoctor.renderer;

import static com.github.cukedoctor.util.Constants.Markup.table;
import static com.github.cukedoctor.util.Constants.Markup.tableCol;
import static com.github.cukedoctor.util.Constants.newLine;

import com.github.cukedoctor.api.model.Example;
import com.github.cukedoctor.api.model.Row;
import com.github.cukedoctor.api.model.Scenario;
import com.github.cukedoctor.spi.ExamplesRenderer;

/** Created by pestano on 28/02/16. */
public class CukedoctorExamplesRenderer extends AbstractBaseRenderer implements ExamplesRenderer {

  @Override
  public String renderScenarioExamples(Scenario scenario) {
    docBuilder.clear();
    if (scenario.hasExamples()) {
      docBuilder.newLine();
      for (Example example : scenario.getExamples()) {
        docBuilder.append(
            "."
                + (example.getName() == null || "".equals(example.getName())
                    ? "Example"
                    : example.getName()),
            newLine());
        docBuilder.append(
            "[cols=\"" + example.getRows()[0].getCells().length + "*\", options=\"header\"]",
            newLine());
        docBuilder.append(table(), newLine());
        Row header = example.getRows()[0];
        for (String col : header.getCells()) {
          docBuilder.append(tableCol(), col, newLine());
        }

        for (int i = 1; i < example.getRows().length; i++) {
          for (String cell : example.getRows()[i].getCells()) {
            docBuilder.append(tableCol(), cell, newLine());
          }
        }
        docBuilder.append(table(), newLine(), newLine());
      }
    }
    return docBuilder.toString();
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy