public void Sample1() { var input = new CaseInput("1.000000"); var output = new CaseSolver(input).Solve(); var stringOutputArray = output.ToString().Split(new[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries); output.Phi.Should().BeApproximately(0, Pow(10, -10)); output.Theta.Should().BeApproximately(0, Pow(10, -10)); output.X.Should().BeApproximately(0.5, Pow(10, -10)); output.Y.Should().BeApproximately(0, Pow(10, -10)); //stringOutputArray[0].Should().Be("0.5 0 0"); //stringOutputArray[1].Should().Be("0 0.5 0"); stringOutputArray[2].Should().Be("0 0 0.5"); }
public void Sample2_Exact() { var input = new CaseInput(Sqrt(2).ToString()); var output = new CaseSolver(input).Solve(); var stringOutputArray = output.ToString().Split(new[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries); var area = Sqrt(2) * Cos(PI / 4 - output.Theta); area.Should().BeApproximately(Sqrt(2), Pow(10, -10)); output.Phi.Should().BeApproximately(0, Pow(10, -10)); output.Theta.Should().BeApproximately(PI / 4, Pow(10, -10)); output.X.Should().BeApproximately(0.3535533905932738, Pow(10, -10)); output.Y.Should().BeApproximately(0.3535533905932738, Pow(10, -10)); //stringOutputArray[0].Should().Be("0.3535533905932738 0.3535533905932738 0"); //stringOutputArray[1].Should().Be("-0.3535533905932738 0.3535533905932738 0"); stringOutputArray[2].Should().Be("0 0 0.5"); }
public static void Run() { var lines = InOut.ReadStringInput(out numberOfCases).ToList(); var cases = lines.ToArray(); var results = new List <string>(); for (int ii = 0; ii < numberOfCases; ii++) { var parsedCase = new CaseInput(cases[ii]); var solver = new CaseSolver(parsedCase); var result = solver.Solve(); var resultText = result.ToString(); results.Add($"Case #{ii + 1}: {resultText}"); } InOut.WriteOutput(results); }