public void DynamicFunctionReturnObjectCallFunctionTest()
        {
            dynamic ret = Context.EvaluateScript("tests.GetObject().Function()");
            var     str = (string)ret;

            Assert.AreEqual("Hello Test", str);
        }
        public void DynamicFunctionReturnObjectsFunctionTest()
        {
            dynamic ret  = Context.EvaluateScript("tests.GetObject()");
            dynamic ret2 = ret.Function();

            Assert.AreEqual("Hello Test", (string)ret2);
        }
        public void DynamicFunctionReturnObjectsStringPropertyTest()
        {
            dynamic ret = Context.EvaluateScript("tests.GetObject().Name");
            var     str = (string)ret;

            Assert.AreEqual("Test", str);
        }
        public void DynamicFunctionReturnStringTest()
        {
            dynamic ret  = Context.EvaluateScript("tests.GetName()");
            var     name = (string)ret;

            Assert.AreEqual("Mittens", name);
        }
        public void DynamicFunctionReturnBooleanTest()
        {
            dynamic ret = Context.EvaluateScript("tests.IsTrue()");
            var     y   = (bool)ret;

            Assert.IsTrue(y);
        }
        public void DynamicFunctionReturnNumberTest()
        {
            dynamic ret = Context.EvaluateScript("tests.GetPi()");
            var     x   = (double)ret;

            Assert.AreEqual(3.14159, x);
        }
        public void DynamicFunctionReturnObjectHasStringPropertyTest()
        {
            dynamic ret = Context.EvaluateScript("tests.GetObject()");

            Assert.AreEqual("Test", ret.Name);
        }