static void Main(string[] args) { while (true) { ProblemA.Main(args); Console.WriteLine("--------------------------------------"); } }
private static void DoProblemA() { Console.WriteLine("Problem A"); var sw = new Stopwatch(); sw.Start(); using (var p = new ProblemA()) { p.Solve("A-small-practice-1"); } sw.Stop(); Console.WriteLine(sw.Elapsed); sw.Reset(); sw.Start(); using (var p = new ProblemA()) { p.Solve("A-small-practice-2"); } sw.Start(); Console.WriteLine(sw.Elapsed); }
static void Main(string[] args) { IProblem question = new ProblemA(); IProblem 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; } } }
public void GetPNorm_Test() { Assert.AreEqual(1.4142135624, ProblemA.GetPNorm(1.0, 1.0, 2.0, 2.0, 2.0)); Assert.AreEqual(2.0000000000, ProblemA.GetPNorm(1.0, 1.0, 2.0, 2.0, 1.0)); Assert.AreEqual(20.3636957882, ProblemA.GetPNorm(1.0, 1.0, 20.0, 20.0, 10.0)); }