private static void PrepareTest() { const string patternForClassifyQuestion = @"Rodzaj:""(.)"".*"; Regex rExtractToClassify = new Regex(patternForClassifyQuestion, RegexOptions.IgnoreCase); Match mExtract; Group g0; Group g1; foreach (string line in lines) { mExtract = rExtractToClassify.Match(line); g0 = mExtract.Groups[0]; g1 = mExtract.Groups[1]; if (g1.ToString() == "O") questionType = typeOfQuestion.open; else if (g1.ToString() == "Z") questionType = typeOfQuestion.close; if (g1.ToString() == "O" || g1.ToString() == "Z") { Question question; question = CreateQuestion(line, questionType); listWithQuestions.Add(question); } } initializeReportWrapper(lines[0]); }
private static Question CreateQuestion(string line, typeOfQuestion type) { Question question; if (type == typeOfQuestion.open) { const string patternForOpenQuestion = @".*Tresc:""(.*?)""; .*""(\d{2,3})""."; Regex rExtractForOpen = new Regex(patternForOpenQuestion, RegexOptions.IgnoreCase); Match mExtractForOpen = rExtractForOpen.Match(line); Group g0_open = mExtractForOpen.Groups[0]; Group g1_open = mExtractForOpen.Groups[1]; Group g2_open = mExtractForOpen.Groups[2]; question = new Question(g1_open.ToString(), "open", g2_open.ToString()); } else { const string patternForCloseQuestion = @".*Tresc:""(.*?)""; Odpowiedz_A:""(.*?)""; Odpowiedz_B:""(.*?)""; Odpowiedz_C:""(.*?)""; Odpowiedz_D:""(.*?)""; Odpowiedz_E:""(.*?)""; Prawidlowa:""(.*?)""; Czas:""(\d{2,3})""."; Regex rExtractForClose = new Regex(patternForCloseQuestion, RegexOptions.IgnoreCase); Match mExtractForClose = rExtractForClose.Match(line); Group g0_close = mExtractForClose.Groups[0]; Group g1_close = mExtractForClose.Groups[1]; Group g2_close = mExtractForClose.Groups[2]; Group g3_close = mExtractForClose.Groups[3]; Group g4_close = mExtractForClose.Groups[4]; Group g5_close = mExtractForClose.Groups[5]; Group g6_close = mExtractForClose.Groups[6]; Group g7_close = mExtractForClose.Groups[7]; Group g8_close = mExtractForClose.Groups[8]; answers.Add(g2_close.ToString()); answers.Add(g3_close.ToString()); answers.Add(g4_close.ToString()); answers.Add(g5_close.ToString()); answers.Add(g6_close.ToString()); question = new Question(g1_close.ToString(), "close", answers, g7_close.ToString(), g8_close.ToString()); answers.Clear(); } return question; }