public void CompileInstanceMethod()
{
Machine machine = new Machine();
IClass cls = machine.CreateClass("Rectangle");
cls.DefineInstanceVariable("x");
var method = this.compiler.CompileInstanceMethod("x ^x", cls);
Assert.IsNotNull(method);
Assert.IsNotNull(method.ByteCodes);
Assert.AreEqual("x ^x", method.SourceCode);
var result = (new BlockDecompiler(method)).Decompile();
Assert.IsNotNull(result);
Assert.AreEqual(2, result.Count);
Assert.AreEqual("GetInstanceVariable x", result[0]);
Assert.AreEqual("ReturnPop", result[1]);
}