public void CreateAndEvaluatedHostedObject()
{
Machine host = this.LoadMachine("HostMachine.st");
Machine hosted = this.LoadMachine("HostedMachine.st");
hosted.HostMachine = host;
this.Evaluate(hosted, "rect := Rectangle new");
var result = hosted.GetGlobalObject("rect");
Assert.IsNotNull(result);
Assert.IsInstanceOfType(result, typeof(IObject));
var iobj = (IObject)result;
this.Evaluate(hosted, "rect x: 10");
Assert.AreEqual(10, iobj[0]);
this.Evaluate(hosted, "rect y: 20");
Assert.AreEqual(20, iobj[1]);
this.Evaluate(hosted, "rect width: 10");
Assert.AreEqual(10, iobj[2]);
this.Evaluate(hosted, "rect height: 30");
Assert.AreEqual(30, iobj[3]);
Assert.AreEqual(300, this.Evaluate(hosted, "rect area"));
}