public void QuestionATest(string input, string output) { var outputs = SplitByNewLine(output); IAtCoderQuestion question = new QuestionA(); var answers = question.Solve(input).Select(o => o.ToString()).ToArray(); Assert.Equal(outputs, answers); }
public void QuestionATest(string input, string output) { var outputs = SplitByNewLine(output); IAtCoderQuestion question = new QuestionA(); var answers = SplitByNewLine(question.Solve(input).Trim()); Assert.Equal(outputs, answers); }
static void Main(string[] args) { IAtCoderQuestion question = new QuestionA(); // 問題に合わせて書き換え var answers = question.Solve(Console.In); foreach (var answer in answers) { Console.WriteLine(answer); } }
static void Main(string[] args) { IAtCoderQuestion question = new QuestionA(); using var input = Console.OpenStandardInput(); using var output = Console.OpenStandardOutput(); using var io = new IOManager(input, output); question.Solve(io); }
static void Main(string[] args) { IAtCoderQuestion question = new QuestionA(); using var input = new FileStream("../../../input/input.txt", FileMode.Open, FileAccess.Read); using var output = new FileStream($"../../../output/output{DateTime.Now:yyyyMMdd_HHmmss}.txt", FileMode.Create, FileAccess.Write); using var io = new IOManager(input, output); question.Solve(io); }
public void QuestionATest(string input, string output) { var outputs = SplitByNewLine(output); IAtCoderQuestion question = new QuestionA(); var answers = question.Solve(input).Select(o => o.ToString()).ToArray(); foreach (var pair in outputs.Zip(answers, (exp, act) => new { exp, act })) { NearlyEquals(double.Parse(pair.exp), double.Parse(pair.act)); } }
static void Main(string[] args) { IAtCoderQuestion question = new QuestionA(); IAtCoderQuestion naiveSolver = new NaiveSolver(); long count = 0; while (true) { using var input = new MemoryStream(); using var expectedOutput = new MemoryStream(); using var actualOutput = new MemoryStream(); var expectedIO = new IOManager(input, expectedOutput); var actualIO = new IOManager(input, actualOutput); var inputReader = new StreamReader(input); var inputWriter = new StreamWriter(input); var expectedOutputReader = new StreamReader(expectedOutput); var actualOutputReader = new StreamReader(actualOutput); // 入力作成 GenerateInput(inputWriter); inputWriter.Flush(); // チェック input.Position = 0; naiveSolver.Solve(expectedIO); expectedIO.Flush(); input.Position = 0; question.Solve(actualIO); actualIO.Flush(); input.Position = 0; expectedOutput.Position = 0; actualOutput.Position = 0; Console.WriteLine($"[Test {count++}]"); Console.ForegroundColor = ConsoleColor.DarkGray; Console.WriteLine("[Input]"); Console.ResetColor(); Console.Write(inputReader.ReadToEnd()); var expected = expectedOutputReader.ReadToEnd(); var actual = actualOutputReader.ReadToEnd(); Console.ForegroundColor = ConsoleColor.DarkGray; Console.WriteLine("[Expected]"); Console.ResetColor(); Console.Write(expected); Console.ForegroundColor = ConsoleColor.DarkGray; Console.WriteLine("[Actual]"); Console.ResetColor(); Console.Write(actual); if (expected == actual) { Console.ForegroundColor = ConsoleColor.DarkGreen; Console.WriteLine("Accepted"); Console.ResetColor(); Console.WriteLine(); } else { Console.ForegroundColor = ConsoleColor.DarkRed; Console.WriteLine("Wrong Answer"); Console.ResetColor(); Console.WriteLine(); break; } } }