using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using Microsoft.Scripting.Hosting;
using IronRuby.Runtime;
using IronRuby;
using Microsoft.Scripting.Hosting.Providers;
using Microsoft.Scripting;
using IronRuby.Builtins;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Microsoft.Scripting.Math;
namespace Test
{
[TestClass]
public class UnitTest1
{
#region 初始化
public ScriptRuntime Runtime { get; private set; }
public RubyContext Context { get; private set; }
public ScriptEngine Engine { get; private set; }
[TestInitialize]
public void Init()
{
var setup = ScriptRuntimeSetup.ReadConfiguration();
setup.AddRubySetup();
setup.PrivateBinding = true;
Runtime = Ruby.CreateRuntime(setup);
Engine = Ruby.GetEngine(Runtime);
Context = (RubyContext)HostingHelpers.GetLanguageContext(Engine);
Engine.Execute("1");//完全初始化
}
#endregion
//ruby对象转C#对象
[TestMethod]
public void SetGlobalVariable1()
{
dynamic obj;
//字符串
obj = Engine.Execute("'123'");
Assert.AreEqual(typeof(MutableString), obj.GetType());
Assert.AreEqual("123", obj.ToString());
//浮点数
obj = Eng