Ejemplo n.º 1
0
        public override object ConvertFromInvariantString(string value)
        {
            if (value != null)
            {
                string[] parts = value.Split(TypeConverter.UnifiedDelimiter);
                if (parts.Length == 3)
                {
                    return(new RelativeVector3(Single.Parse(parts[0].Trim(), CultureInfo.InvariantCulture),
                                               Single.Parse(parts[1].Trim(), CultureInfo.InvariantCulture),
                                               Single.Parse(parts[2].Trim(), CultureInfo.InvariantCulture)));
                }
                else if (parts.Length == 2)
                {
                    var vector2 = new RelativeVector2(Single.Parse(parts[0].Trim(), CultureInfo.InvariantCulture),
                                                      Single.Parse(parts[1].Trim(), CultureInfo.InvariantCulture));
                    var vector3 = new RelativeVector3(vector2);
                    vector2.Dispose();
                    return(vector3);
                }
                else if (parts.Length == 1)
                {
                    var x = Single.Parse(parts[0].Trim(), CultureInfo.InvariantCulture);
                    return(new RelativeVector3(x, x, x));
                }
            }

            throw new InvalidOperationException($"Cannot convert \"{value}\" into {typeof(RelativeVector3)}");
        }
Ejemplo n.º 2
0
        public void RelativeVector2Constructor()
        {
            tlog.Debug(tag, $"RelativeVector2Constructor START");

            var testingTarget = new RelativeVector2();

            Assert.IsNotNull(testingTarget, "Can't create success object RelativeVector2");
            Assert.IsInstanceOf <RelativeVector2>(testingTarget, "Should return RelativeVector2 instance.");

            testingTarget.Dispose();
            tlog.Debug(tag, $"RelativeVector2Constructor END (OK)");
        }
Ejemplo n.º 3
0
        public void RelativeVector2GetY()
        {
            tlog.Debug(tag, $"RelativeVector2GetY START");

            var testingTarget = new RelativeVector2(1.0f, 0.5f);

            Assert.IsNotNull(testingTarget, "Can't create success object RelativeVector2");
            Assert.IsInstanceOf <RelativeVector2>(testingTarget, "Should be an instance of RelativeVector2 type.");

            Assert.AreEqual(0.5f, testingTarget.Y, "The Y of the vector is not correct here!");

            testingTarget.Dispose();
            tlog.Debug(tag, $"RelativeVector2GetY END (OK)");
        }
Ejemplo n.º 4
0
        public void RelativeVector2ConstructorWithFloat()
        {
            tlog.Debug(tag, $"RelativeVector2ConstructorWithFloat START");

            var testingTarget = new RelativeVector2(0.5f, 0.6f);

            Assert.IsNotNull(testingTarget, "Can't create success object RelativeVector2");
            Assert.IsInstanceOf <RelativeVector2>(testingTarget, "Should return Vector2 instance.");

            Assert.AreEqual(0.5f, testingTarget.X, "Retrieved vector.X should be equal to set value");
            Assert.AreEqual(0.6f, testingTarget.Y, "Retrieved vector.Y should be equal to set value");

            testingTarget.Dispose();
            tlog.Debug(tag, $"RelativeVector2ConstructorWithFloat END (OK)");
        }
Ejemplo n.º 5
0
        public void RelativeVector2GetValueBySubscriptIndex()
        {
            tlog.Debug(tag, $"RelativeVector2GetValueBySubscriptIndex START");

            var testingTarget = new RelativeVector2(1.0f, 0.5f);

            Assert.IsNotNull(testingTarget, "Can't create success object RelativeVector2");
            Assert.IsInstanceOf <RelativeVector2>(testingTarget, "Should be an instance of RelativeVector2 type.");

            Assert.AreEqual(1.0f, testingTarget[0], "The value of index[0] is not correct!");
            Assert.AreEqual(0.5f, testingTarget[1], "The value of index[1] is not correct!");

            testingTarget.Dispose();
            tlog.Debug(tag, $"RelativeVector2GetValueBySubscriptIndex END (OK)");
        }
Ejemplo n.º 6
0
        public void RelativeVector2GetHashCode()
        {
            tlog.Debug(tag, $"RelativeVector2GetHashCode START");

            var testingTarget = new RelativeVector2(1.0f, 0.0f);

            Assert.IsNotNull(testingTarget, "Can't create success object RelativeVector2");
            Assert.IsInstanceOf <RelativeVector2>(testingTarget, "Should be an instance of RelativeVector2 type.");

            var result = testingTarget.GetHashCode();

            Assert.IsTrue(result >= Int32.MinValue && result <= Int32.MaxValue, "The value of hash is out of Integer range");

            testingTarget.Dispose();
            tlog.Debug(tag, $"RelativeVector2GetHashCode END (OK)");
        }
Ejemplo n.º 7
0
        public void RelativeVector2ImplicitToRelativeVector2()
        {
            tlog.Debug(tag, $"RelativeVector2ImplicitToRelativeVector2 START");

            RelativeVector2 testingTarget = null;

            using (Vector2 vector = new Vector2(1.0f, 0.5f))
            {
                testingTarget = vector;
                Assert.AreEqual(vector.X, testingTarget.X, "The value of X is not correct.");
                Assert.AreEqual(vector.Y, testingTarget.Y, "The value of Y is not correct.");
            }

            testingTarget.Dispose();
            tlog.Debug(tag, $"RelativeVector2ImplicitToRelativeVector2 END (OK)");
        }
Ejemplo n.º 8
0
        public void RelativeVector2DivisionByFloat()
        {
            tlog.Debug(tag, $"RelativeVector2DivisionByFloat START");

            var testingTarget = new RelativeVector2(0.02f, 0.02f);

            Assert.IsNotNull(testingTarget, "Can't create success object RelativeVector2");
            Assert.IsInstanceOf <RelativeVector2>(testingTarget, "Should be an instance of RelativeVector2 type.");

            var result = testingTarget / 0.5f;

            Assert.AreEqual(0.04f, result.X, "The X of the vector is not correct here!");
            Assert.AreEqual(0.04f, result.Y, "The Y of the vector is not correct here!");

            testingTarget.Dispose();
            tlog.Debug(tag, $"RelativeVector2DivisionByFloat END (OK)");
        }
Ejemplo n.º 9
0
        public void RelativeVector2MultiplyByFloat()
        {
            tlog.Debug(tag, $"RelativeVector2MultiplyByFloat START");

            var testingTarget = new RelativeVector2(0.02f, 0.04f);

            Assert.IsNotNull(testingTarget, "Can't create success object RelativeVector2");
            Assert.IsInstanceOf <RelativeVector2>(testingTarget, "Should be an instance of RelativeVector2 type.");

            var result = testingTarget * 10.0f;

            Assert.Less(Math.Abs(0.2f - result.X), 0.0001f, "The X of the vector is not correct here!");
            Assert.Less(Math.Abs(0.4f - result.Y), 0.0001f, "The Y of the vector is not correct here!");

            testingTarget.Dispose();
            tlog.Debug(tag, $"RelativeVector2MultiplyByFloat END (OK)");
        }
Ejemplo n.º 10
0
        public void RelativeVector2NotEqualTo()
        {
            tlog.Debug(tag, $"RelativeVector2NotEqualTo START");

            var testingTarget = new RelativeVector2(1.0f, 0.5f);

            Assert.IsNotNull(testingTarget, "Can't create success object RelativeVector2");
            Assert.IsInstanceOf <RelativeVector2>(testingTarget, "Should be an instance of RelativeVector2 type.");

            using (RelativeVector2 vector = new RelativeVector2(1.0f, 0.6f))
            {
                Assert.IsTrue((testingTarget.NotEqualTo(vector)), "Should be equal");
            }

            testingTarget.Dispose();
            tlog.Debug(tag, $"RelativeVector2NotEqualTo END (OK)");
        }
Ejemplo n.º 11
0
        public void KeyValueRelativeVector2Value()
        {
            tlog.Debug(tag, $"KeyValueRelativeVector2Value START");

            RelativeVector2 b1 = new RelativeVector2(0, 0);
            KeyValue        a1 = new KeyValue
            {
                RelativeVector2Value = b1
            };

            b1 = a1.RelativeVector2Value;

            b1.Dispose();
            a1.Dispose();
            tlog.Debug(tag, $"KeyValueRelativeVector2Value END (OK)");
            Assert.Pass("KeyValueRelativeVector2Value");
        }
Ejemplo n.º 12
0
        public void RelativeVector2ConstructorWithRelativeVector3()
        {
            tlog.Debug(tag, $"RelativeVector2ConstructorWithRelativeVector3 START");

            using (RelativeVector3 vec3 = new RelativeVector3(0.5f, 0.6f, 0.7f))
            {
                var testingTarget = new RelativeVector2(vec3);
                Assert.IsNotNull(testingTarget, "Can't create success object RelativeVector2");
                Assert.IsInstanceOf <RelativeVector2>(testingTarget, "Should return RelativeVector2 instance.");

                Assert.AreEqual(0.5f, testingTarget.X, "Retrieved vector2.X should be equal to set value");
                Assert.AreEqual(0.6f, testingTarget.Y, "Retrieved vector2.Y should be equal to set value");

                testingTarget.Dispose();
            }

            tlog.Debug(tag, $"RelativeVector2ConstructorWithRelativeVector3 END (OK)");
        }
Ejemplo n.º 13
0
        public void RelativeVector2Equals()
        {
            tlog.Debug(tag, $"RelativeVector2Equals START");

            var testingTarget = new RelativeVector2(0.02f, 0.02f);

            Assert.IsNotNull(testingTarget, "Can't create success object RelativeVector2");
            Assert.IsInstanceOf <RelativeVector2>(testingTarget, "Should be an instance of RelativeVector2 type.");

            using (RelativeVector2 vector = new RelativeVector2(0.02f, 0.02f))
            {
                var result = testingTarget.Equals(vector);
                Assert.IsTrue(result, "Should be true here!");
            }

            testingTarget.Dispose();
            tlog.Debug(tag, $"RelativeVector2Equals END (OK)");
        }
Ejemplo n.º 14
0
        public void RelativeVector2Dispose()
        {
            tlog.Debug(tag, $"RelativeVector2Dispose START");

            var testingTarget = new RelativeVector2(1.0f, 0.0f);

            Assert.IsNotNull(testingTarget, "Can't create success object RelativeVector2");
            Assert.IsInstanceOf <RelativeVector2>(testingTarget, "Should be an instance of RelativeVector2 type.");
            try
            {
                testingTarget.Dispose();
            }
            catch (Exception e)
            {
                Assert.Fail("Caught Exception" + e.ToString());
            }

            tlog.Debug(tag, $"RelativeVector2Dispose END (OK)");
        }
Ejemplo n.º 15
0
        public void RelativeVector2MultiplyByRelativeVector2()
        {
            tlog.Debug(tag, $"RelativeVector2MultiplyByRelativeVector2 START");

            var testingTarget = new RelativeVector2(0.5f, 0.4f);

            Assert.IsNotNull(testingTarget, "Can't create success object RelativeVector2");
            Assert.IsInstanceOf <RelativeVector2>(testingTarget, "Should be an instance of RelativeVector2 type.");

            using (RelativeVector2 vector = new RelativeVector2(1.0f, 0.0f))
            {
                var result = testingTarget * vector;
                Assert.AreEqual(0.5f, result.X, "The X of the vector is not correct here!");
                Assert.AreEqual(0.0f, result.Y, "The Y of the vector is not correct here!");
            }

            testingTarget.Dispose();
            tlog.Debug(tag, $"RelativeVector2MultiplyByRelativeVector2 END (OK)");
        }
Ejemplo n.º 16
0
        public void RelativeVector2Subtraction()
        {
            tlog.Debug(tag, $"RelativeVector2Subtraction START");

            var testingTarget = new RelativeVector2(1.0f, 0.8f);

            Assert.IsNotNull(testingTarget, "Can't create success object RelativeVector2");
            Assert.IsInstanceOf <RelativeVector2>(testingTarget, "Should be an instance of RelativeVector2 type.");

            using (RelativeVector2 vector = new RelativeVector2(1.0f, 0.6f))
            {
                var result = testingTarget - vector;
                Assert.AreEqual(0.0f, result.X, "The X of the vector is not correct here!");
                Assert.Less(Math.Abs(0.2f - result.Y), 0.0001f, "The Y of the vector is not correct here!");
            }

            testingTarget.Dispose();
            tlog.Debug(tag, $"RelativeVector2Subtraction END (OK)");
        }