private void App_OnStartup(object sender, StartupEventArgs e) { var parser = new QuestionParser(); var errors = parser.TryParse(e.Args, out var questions); if (errors.Any()) { Console.Error.WriteLine("Failed to parse arguments"); errors.ForEach(err => Console.Error.WriteLine(err)); } if (!questions.Any()) { Console.WriteLine( @"Usage: askme.exe ""question"" [""question=answer"", ""key:question"", ""key:question=answer""...]"); ExitWithCode(1); return; } var dialog = new QueryFormWindow(new QueryFormViewModel(questions)); var submitted = dialog.ShowDialog() ?? false; if (!submitted) { ExitWithCode(2); return; } var response = dialog.Model.ToPromptResponse(); Console.WriteLine(JsonSerializer.Serialize(response.Answers)); }
public void FailsWithEmptyQuestion() { const string q = "key:"; var parser = new QuestionParser(); var result = parser.TryParse(q, out var prompt); Assert.False(result); Assert.Null(prompt); }
public void IgnoresEmptyAnswer() { const string q = "question="; var parser = new QuestionParser(); var result = parser.TryParse(q, out var prompt); Assert.True(result); Assert.Equal("question", prompt.Question); Assert.Null(prompt.Answer); }
public void CanParseSimpleQuestions() { const string q = "question"; var parser = new QuestionParser(); var result = parser.TryParse(q, out var prompt); Assert.True(result); Assert.Equal(q, prompt.Question); Assert.Equal(q, prompt.Key); }
// Start is called before the first frame update void Start() { QuestionParser qp = new QuestionParser(); List <Question> questions = qp.ParseTxt(); for (int i = 0; i < questions.Count; i++) { questions[i].DebugQuestion(); } }
public void CanParseKeyQuestionAndAnswer() { const string q = "key:question=answer"; var parser = new QuestionParser(); var result = parser.TryParse(q, out var prompt); Assert.True(result); Assert.Equal("question", prompt.Question); Assert.Equal("key", prompt.Key); Assert.Equal("answer", prompt.Answer); }
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]); }
/// <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_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]); }
void Start() { vocaList = FindObjectOfType <QuestionParser>(); randomIntList = new Queue <int>(); for (int i = 0; i < CAPACITY; i++) { randomIntList.Enqueue(Random.Range(0, vocaList.voca.Count)); } display = FindObjectOfType <QuestionDisplay>(); StartCoroutine(AssignQuestions()); }
void Awake() { if (instance != null && instance != this) { Destroy(this.gameObject); return; } else { instance = this; } DontDestroyOnLoad(this.gameObject); }
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]); }
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 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_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_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 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 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]); }
static void Main(string[] args) { Win32Console.AttachConsole(); if (!args.Any()) { Console.WriteLine( @"Usage: askme.exe ""question"" [""question=answer"", ""key:question"", ""key:question=answer""...]"); Exit(1); return; } Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); var parser = new QuestionParser(); var errors = parser.TryParse(args, out var qs); if (errors.Any()) { Console.Error.WriteLine("Failed to parse questions"); errors.ForEach(e => Console.Error.WriteLine($"Failed to parse: {e}")); Exit(1); return; } using var form = new PromptForm(qs); var result = form.ShowDialog(); if (result != DialogResult.OK) { Exit(-1); return; } var answers = form.Response.Answers; Console.WriteLine(JsonSerializer.Serialize(answers)); Exit(); }
IEnumerator GetQuestion() { string url = $"https://www.zutto-oreno-turn.com/cdn/eigo/question/category/tweet/CNN.json"; UnityWebRequest request = UnityWebRequest.Get(url); request.SetRequestHeader("Content-Type", "application/json"); yield return(request.SendWebRequest()); QuestionParser data = JsonUtility.FromJson <QuestionParser>(request.downloadHandler.text); Questions = data.questions; if (PlayData.CurrentQuestionNumber >= Questions.Length) { MakeWaitScreen(); } else { MakePlayPanel(); } }
public DispenseController(IHostingEnvironment env) { _qParser = new QuestionParser(env.ContentRootPath + "//Tests//"); }
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); }
private void txtQuestions_TextChanged(object sender, EventArgs e) { SetLineNumbers(); txtAnswers.Lines = QuestionParser.Parse(txtQuestions.Lines); }
public static void AddParser(QuestionParser parser) { Parsers.Add(parser); }
public static void AddParser(QuestionParser parser) { Pipeline.Add(parser); }