public void Parse_MultiLine_ValueVariable() { var questions = new string[] { "pi = 3.14", "2 * pi" }; string[] answers = QuestionParser.Parse(questions); Assert.AreEqual("6.28", answers[1]); }
public void Parse_MultiLine_LineVariable() { var questions = new string[] { "3 + 7", "line1 * 2" }; string[] answers = QuestionParser.Parse(questions); Assert.AreEqual("10", answers[0]); Assert.AreEqual("20", answers[1]); }
public void Parse_MultiLine_MultiValueVariables() { var questions = new string[] { "pi = 3.14", "pi2 = 2 * pi", "pi + pi2" }; string[] answers = QuestionParser.Parse(questions); Assert.AreEqual("9.42", answers[2]); }
/// <summary> /// Initializes a new instance of the <see cref="DependencyRegistry" /> class. /// </summary> public DependencyRegistry() { string[] questionLines = Resource1.code_challenge_question_dump.Split('\n').Skip(1).Select(x => x.Trim()).Where(x => !string.IsNullOrWhiteSpace(x)).ToArray(); Question[] questionsToLoad = QuestionParser.Parse(questionLines); InMemoryQuestionRepository questionRepository = new InMemoryQuestionRepository(); foreach (Question question in questionsToLoad) { questionRepository.Insert(question); } For <IQuestionRepository>().Singleton().Use(questionRepository); }
public void Parse_PercentOff() { var questions = new string[] { "25% off $100", "30% off 50", "12.5% off 25.5" }; string[] answers = QuestionParser.Parse(questions); Assert.AreEqual((100 - (100 * 25 / 100)).ToString(), answers[0]); Assert.AreEqual((50 - (50 * 30 / 100)).ToString(), answers[1]); Assert.AreEqual((25.5 - (25.5 * 12.5 / 100)).ToString(), answers[2]); }
public void Test_multiple_lines() { string[] lines = new string[] { "What is 1754 - 3936?|-2182|3176, 6529, 6903", "What is 7269 * 2771?|20142399|874", }; Question[] questions = QuestionParser.Parse(lines); Assert.AreEqual(2, questions.Length); Assert.AreEqual("What is 7269 * 2771?", questions[1].Text); Assert.AreEqual("20142399", questions[1].Answer); Assert.AreEqual(1, questions[1].Distractors.Length); Assert.AreEqual("874", questions[1].Distractors[0]); }
public void Test_single_line() { string[] lines = new string[] { "What is 1754 - 3936?|-2182|3176, 6529, 6903" }; Question[] questions = QuestionParser.Parse(lines); Assert.AreEqual(1, questions.Length); Assert.AreEqual("What is 1754 - 3936?", questions[0].Text); Assert.AreEqual("-2182", questions[0].Answer); Assert.AreEqual(3, questions[0].Distractors.Length); Assert.AreEqual("3176", questions[0].Distractors[0]); Assert.AreEqual("6529", questions[0].Distractors[1]); Assert.AreEqual("6903", questions[0].Distractors[2]); }
public void Test_blank_distractors_throws_exception() { string[] lines = new string[] { "What is 7269 * 2771?|20142399|", }; try { Question[] questions = QuestionParser.Parse(lines); Assert.Fail(); } catch (Exception e) { Assert.AreEqual("Missing distractors: What is 7269 * 2771?|20142399|", e.Message); } }
public void Test_blank_answer_throws_exception() { string[] lines = new string[] { "What is 7269 * 2771?||874", }; try { Question[] questions = QuestionParser.Parse(lines); Assert.Fail(); } catch (Exception e) { Assert.AreEqual("Missing Answer: What is 7269 * 2771?||874", e.Message); } }
public void Test_blank_question_throws_exception() { string[] lines = new string[] { "|20142399|874", }; try { Question[] questions = QuestionParser.Parse(lines); Assert.Fail(); } catch (Exception e) { Assert.AreEqual("Missing question text: |20142399|874", e.Message); } }
public void Test_too_few_tabs_question_throws_exception() { string[] lines = new string[] { "What is 7269 * 2771?|20142399", }; try { Question[] questions = QuestionParser.Parse(lines); Assert.Fail(); } catch (Exception e) { Assert.AreEqual("Invalid line: What is 7269 * 2771?|20142399", e.Message); } }
public void Parse_MultiLine_MultiLineVariables() { var questions = new string[] { "3 + 7", "line1 * 2", "(line1 + line2) / 2", "", "line3" }; string[] answers = QuestionParser.Parse(questions); Assert.AreEqual("10", answers[0]); Assert.AreEqual("20", answers[1]); Assert.AreEqual("15", answers[2]); Assert.AreEqual("", answers[3]); Assert.AreEqual("15", answers[4]); }
private void txtQuestions_TextChanged(object sender, EventArgs e) { SetLineNumbers(); txtAnswers.Lines = QuestionParser.Parse(txtQuestions.Lines); }
public void Test_parse_sample_file() { string[] lines = Resource1.code_challenge_question_dump.Split('\n').Skip(1).Select(x => x.Trim()).ToArray(); Question[] questions = QuestionParser.Parse(lines); Assert.AreEqual(4000, questions.Length); }