public void DefineNativeBehavior()
{
var originalbehavior = this.machine.GetNativeBehavior(typeof(string));
object result = this.Evaluate("nil subclass: #MyString nativeType: @System.String");
Assert.IsNotNull(result);
Assert.IsInstanceOfType(result, typeof(NativeBehavior));
NativeBehavior behavior = (NativeBehavior)result;
Assert.AreEqual(typeof(string), behavior.NativeType);
object newobj = behavior.CreateObject(new object[] { 'c', 3 });
Assert.IsNotNull(newobj);
Assert.AreEqual("ccc", newobj);
Assert.IsInstanceOfType(newobj, typeof(string));
Assert.AreSame(originalbehavior, result);
}