コード例 #1
0
        public void TestToString()
        {
            LSL_Types.LSLFloat testFloat;

            foreach (KeyValuePair<double, string> number in m_doubleStringSet)
            {
                testFloat = new LSL_Types.LSLFloat(number.Key);
                Assert.AreEqual(number.Value, testFloat.ToString());
            }
        }
コード例 #2
0
        public void TestNotEqualOperator()
        {
            LSL_Types.LSLFloat testFloatA, testFloatB;

            foreach (double number in m_doubleList)
            {
                testFloatA = new LSL_Types.LSLFloat(number);
                testFloatB = new LSL_Types.LSLFloat(number + 1.0);
                Assert.IsTrue(testFloatA != testFloatB);

                testFloatB = new LSL_Types.LSLFloat(number);
                Assert.IsFalse(testFloatA != testFloatB);
            }
        }
コード例 #3
0
        public void TestDecrementOperator()
        {
            LSL_Types.LSLFloat testFloat;
            double testNumber;

            foreach (double number in m_doubleList)
            {
                testFloat = new LSL_Types.LSLFloat(number);

                testNumber = testFloat--;
                Assert.That(testNumber, new DoubleToleranceConstraint(number, _lowPrecisionTolerance));

                testNumber = testFloat;
                Assert.That(testNumber, new DoubleToleranceConstraint(number - 1.0, _lowPrecisionTolerance));

                testNumber = --testFloat;
                Assert.That(testNumber, new DoubleToleranceConstraint(number - 2.0, _lowPrecisionTolerance));
            }
        }
コード例 #4
0
        public void TestImplicitCastLSLFloatToDouble()
        {
            double testNumber;
            LSL_Types.LSLFloat testFloat;

            foreach (double number in m_doubleList)
            {
                testFloat = new LSL_Types.LSLFloat(number);
                testNumber = testFloat;

                Assert.That(testNumber, new DoubleToleranceConstraint(number, _lowPrecisionTolerance));
            }
        }
コード例 #5
0
        public void TestExplicitCastLSLFloatToFloat()
        {
          float testFloat;
          float numberAsFloat;
          LSL_Types.LSLFloat testLSLFloat;
          foreach (double number in m_doubleList)
          {
            testLSLFloat = new LSL_Types.LSLFloat(number);
            numberAsFloat = (float)number;
            testFloat = (float)testLSLFloat;

            Assert.That((double)testFloat, new DoubleToleranceConstraint((double)numberAsFloat, _lowPrecisionTolerance));
          }
        }
コード例 #6
0
ファイル: XEngine.cs プロジェクト: p07r0457/opensim
        public bool PostScriptEvent(UUID itemID, string name, Object[] p)
        {
            Object[] lsl_p = new Object[p.Length];
            for (int i = 0; i < p.Length ; i++)
            {
                if (p[i] is int)
                    lsl_p[i] = new LSL_Types.LSLInteger((int)p[i]);
                else if (p[i] is string)
                    lsl_p[i] = new LSL_Types.LSLString((string)p[i]);
                else if (p[i] is Vector3)
                    lsl_p[i] = new LSL_Types.Vector3((Vector3)p[i]);
                else if (p[i] is Quaternion)
                    lsl_p[i] = new LSL_Types.Quaternion((Quaternion)p[i]);
                else if (p[i] is float)
                    lsl_p[i] = new LSL_Types.LSLFloat((float)p[i]);
                else
                    lsl_p[i] = p[i];
            }

            return PostScriptEvent(itemID, new EventParams(name, lsl_p, new DetectParams[0]));
        }
コード例 #7
0
        public void TestEqualsOperator()
        {
            TestHelpers.InMethod();

            LSL_Types.LSLFloat testFloatA, testFloatB;

            foreach (double number in m_doubleList)
            {
                testFloatA = new LSL_Types.LSLFloat(number);
                testFloatB = new LSL_Types.LSLFloat(number);
                Assert.IsTrue(testFloatA == testFloatB);

                testFloatB = new LSL_Types.LSLFloat(number + 1.0);
                Assert.IsFalse(testFloatA == testFloatB);
            }
        }
コード例 #8
0
        public void TestConstructFromDouble()
        {
            LSL_Types.LSLFloat testFloat;

            foreach (KeyValuePair<double, double> number in m_doubleDoubleSet)
            {
                testFloat = new LSL_Types.LSLFloat(number.Key);
                Assert.That(testFloat.value, new DoubleToleranceConstraint(number.Value, _lowPrecisionTolerance));
            }
        }
コード例 #9
0
        public void TestSubtractTwoLSLFloats()
        {
            TestHelpers.InMethod();

            LSL_Types.LSLFloat testResult;

            foreach (KeyValuePair<double, double> number in m_doubleDoubleSet)
            {
                testResult = new LSL_Types.LSLFloat(number.Key) - new LSL_Types.LSLFloat(number.Value);
                Assert.That(testResult.value, new DoubleToleranceConstraint(number.Key - number.Value, _lowPrecisionTolerance));
            }
        }
コード例 #10
0
        public void TestIncrementOperator()
        {
            TestHelpers.InMethod();

            LSL_Types.LSLFloat testFloat;
            double testNumber;

            foreach (double number in m_doubleList)
            {
                testFloat = new LSL_Types.LSLFloat(number);

                testNumber = testFloat++;
                Assert.That(testNumber, new DoubleToleranceConstraint(number, _lowPrecisionTolerance));

                testNumber = testFloat;
                Assert.That(testNumber, new DoubleToleranceConstraint(number + 1.0, _lowPrecisionTolerance));

                testNumber = ++testFloat;
                Assert.That(testNumber, new DoubleToleranceConstraint(number + 2.0, _lowPrecisionTolerance));
            }
        }
コード例 #11
0
        public void TestMultiplyTwoLSLFloats()
        {
            LSL_Types.LSLFloat testResult;

            foreach (KeyValuePair<double, double> number in m_doubleDoubleSet)
            {
                testResult = new LSL_Types.LSLFloat(number.Key) * new LSL_Types.LSLFloat(number.Value);
                Assert.That(testResult.value, new DoubleToleranceConstraint(number.Key * number.Value, _lowPrecisionTolerance));
            }
        }
コード例 #12
0
        public void TestImplicitCastLSLFloatToBooleanTrue()
        {
            LSL_Types.LSLFloat testFloat;
            bool testBool;

            foreach (double number in m_doubleList)
            {
                testFloat = new LSL_Types.LSLFloat(number);
                testBool = testFloat;

                Assert.IsTrue(testBool);
            }
        }
コード例 #13
0
        public void TestDivideTwoLSLFloats()
        {
            LSL_Types.LSLFloat testResult;

            foreach (KeyValuePair<double, double> number in m_doubleDoubleSet)
            {
                if (number.Value != 0.0) // Let's avoid divide by zero.
                {
                    testResult = new LSL_Types.LSLFloat(number.Key) / new LSL_Types.LSLFloat(number.Value);
                    Assert.That(testResult.value, new DoubleToleranceConstraint(number.Key / number.Value, _lowPrecisionTolerance));
                }
            }
        }
コード例 #14
0
        public void TestImplicitCastLSLFloatToBooleanFalse()
        {
            LSL_Types.LSLFloat testFloat = new LSL_Types.LSLFloat(0.0);
            bool testBool = testFloat;

            Assert.IsFalse(testBool);
        }
コード例 #15
0
ファイル: XEngine.cs プロジェクト: p07r0457/opensim
        public bool PostObjectEvent(UUID itemID, string name, Object[] p)
        {
            SceneObjectPart part = m_Scene.GetSceneObjectPart(itemID);
            if (part == null)
                return false;

            Object[] lsl_p = new Object[p.Length];
            for (int i = 0; i < p.Length ; i++)
            {
                if (p[i] is int)
                    lsl_p[i] = new LSL_Types.LSLInteger((int)p[i]);
                else if (p[i] is string)
                    lsl_p[i] = new LSL_Types.LSLString((string)p[i]);
                else if (p[i] is Vector3)
                    lsl_p[i] = new LSL_Types.Vector3((Vector3)p[i]);
                else if (p[i] is Quaternion)
                    lsl_p[i] = new LSL_Types.Quaternion((Quaternion)p[i]);
                else if (p[i] is float)
                    lsl_p[i] = new LSL_Types.LSLFloat((float)p[i]);
                else
                    lsl_p[i] = p[i];
            }

            return PostObjectEvent(part.LocalId, new EventParams(name, lsl_p, new DetectParams[0]));
        }
コード例 #16
0
        public void TestConstructFromInt()
        {
            TestHelpers.InMethod();

            LSL_Types.LSLFloat testFloat;

            foreach (KeyValuePair<int, double> number in m_intDoubleSet)
            {
                testFloat = new LSL_Types.LSLFloat(number.Key);
                Assert.That(testFloat.value, new DoubleToleranceConstraint(number.Value, _lowPrecisionTolerance));
            }
        }