def testSimpleIdentifier(self): bytes, _ = assemble_str(""" a = 1 b = 2 b+a b*a """) self.assertEqual((0x03, 0x02), tuple(bytes))
def testSimpleMacro(self): bytes, _ = assemble_str(""" .macro A(a) { a a a a } .macro B(b) { A(b+1) } A(1) B(1) """) self.assertEqual((0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02), tuple(bytes))
def testBreakPoints(self): bytes, breakpoints = assemble_str("""0 0 0 0 .breakpoint 0 0 .breakpoint 18 """) self.assertEqual((0, 0, 0, 0, 0, 0, 18), tuple(bytes)) self.assertSetEqual({4, 6}, breakpoints)
def testNoByte(self): bytes, _ = assemble_str("""""") self.assertEqual((), tuple(bytes))
def testSimpleOperatiosn(self): bytes, _ = assemble_str("""2+1 1<<5 2/3 2*5 1024/1000""") self.assertEqual((0x03, 0x20, 0x00, 0x0A, 0x01), tuple(bytes))
def testSimpleBytes(self): bytes, _ = assemble_str("""-1 0x0 5 18 3000""") self.assertEqual((0xFF, 0x00, 0x05, 0x12, 0xB8), tuple(bytes))