001package edu.pdx.cs.joy.grader;
002
003import org.junit.jupiter.api.Test;
004
005import java.io.StringWriter;
006
007import static org.hamcrest.MatcherAssert.assertThat;
008import static org.hamcrest.Matchers.containsString;
009
010public class SurveyResponsesFromD2LGeneratorTest {
011
012  @Test
013  public void generateHtmlFromSurveyResponses() {
014    String questionA = "This is question A";
015    String responseA1 = "This is response 1 to question A";
016    String responseA2 = "This is response 2 to question A";
017
018    String questionB = "This is question B";
019    String responseB1 = "This is response 1 to question B";
020    String responseB2 = "This is response 2 to question B";
021
022    SurveyResponsesFromD2L responses = new SurveyResponsesFromD2L();
023    responses.noteQuestionAndResponse(questionA, responseA1);
024    responses.noteQuestionAndResponse(questionA, responseA2);
025    responses.noteQuestionAndResponse(questionB, responseB1);
026    responses.noteQuestionAndResponse(questionB, responseB2);
027
028    StringWriter writer = new StringWriter();
029    HtmlGenerator generator = new HtmlGenerator(writer);
030    SurveyResponsesFromD2LGenerator.generateHtmlForSurveyResponses(responses, generator);
031
032    String html = writer.toString();
033    assertThat(html, containsString("      <li>" + questionA + "</li>\n"));
034    assertThat(html, containsString("        <li>" + responseA1+ "</li>\n"));
035    assertThat(html, containsString("        <li>" + responseA2+ "</li>\n"));
036    assertThat(html, containsString("      <li>" + questionB + "</li>\n"));
037    assertThat(html, containsString("        <li>" + responseB1+ "</li>\n"));
038    assertThat(html, containsString("        <li>" + responseB2+ "</li>\n"));
039  }
040}