Abacus.DoublePrecision.Vector2Tests.TestStaticFn_Reflect_i C# (CSharp) Method

TestStaticFn_Reflect_i() private method

private TestStaticFn_Reflect_i ( ) : void
return void
        public void TestStaticFn_Reflect_i ()
        {
            var a = new Vector2(20, -5);
            var b = new Vector2(1, -1); Vector2.Normalise(ref b, out b);
            var c = new Vector2(2, -1); Vector2.Normalise(ref c, out c);
            var d = Vector2.Zero;
            var e = new Vector2(1, 0);

            var ex1 = new Vector2(-5, 20);
            var ex2 = new Vector2(-16, 13);
            var ex3 = d;

            var tests = new Tuple<Vector2, Vector2, Vector2>[]
            {
                //incident -> normal -> expected
                new Tuple<Vector2, Vector2, Vector2> (a, b, ex1),
                new Tuple<Vector2, Vector2, Vector2> (a, c, ex2),
                new Tuple<Vector2, Vector2, Vector2> (d, e, ex3),
            };

            foreach(var test in tests)
            {
                Vector2 incident = test.Item1;
                Vector2 normal = test.Item2;
                Vector2 expected = test.Item3;
                Vector2 result;
                Vector2.Reflect(ref incident, ref normal, out result);
                AssertEqualWithinReason(result, expected);
            }
        }
Vector2Tests