void when_getting_the_bytes()
{
act = () => bytes = assembler.GetBytes();
context["after pushing an address"] = () =>
{
before = () => assembler.Push(new IntPtr(0x1337));
ItShouldEmitOpCode(OpCode.Push);
ItShouldHaveTheBytes(1, 0x37, 0x13, 0, 0);
};
context["after returning"] = () =>
{
before = () => assembler.Retn();
ItShouldEmitOpCode(OpCode.Retn);
};
context["after returning and purging the stack"] = () =>
{
before = () => assembler.Retn(0x10);
ItShouldEmitOpCode(OpCode.RetnAndPurge);
ItShouldHaveTheBytes(1, 0x10, 0);
};
}