Example #1
0
        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");
        }
Example #2
0
        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);
        }
Example #3
0
 internal CaseSolver(CaseInput inputCase)
 {
     input = inputCase;
 }