示例#1
0
    def test_getPOINTER(self):
        msm = MemorySegmentManager("testFile")
        command = msm.getSegment(SegmentType.POINTER_SEGMENT, "0")
        expectedCommand = "@THIS\nD=M\n"
        self.assertEqual(command, expectedCommand)

        command = msm.getSegment(SegmentType.POINTER_SEGMENT, "1")
        expectedCommand = "@THAT\nD=M\n"
        self.assertEqual(command, expectedCommand)
示例#2
0
 def test_getCONST(self):
     msm = MemorySegmentManager("testFile")
     command = msm.getSegment(SegmentType.CONST_SEGMENT, "value")
     expectedCommand = "@value\nD=A\n"
     self.assertEqual(command, expectedCommand)
示例#3
0
 def test_getSTATIC(self):
     msm = MemorySegmentManager("testFile")
     command = msm.getSegment(SegmentType.STATIC_SEGMENT, "offset")
     expectedCommand = "@testFile.offset\nD=M\n"
     self.assertEqual(command, expectedCommand)
示例#4
0
 def test_setTHAT(self):
     msm = MemorySegmentManager("testFile")
     command = msm.setSegment(SegmentType.THAT_SEGMENT, "offset")
     expectedCommand = "@aux0\nM=D\n@offset\nD=A\n@THAT\nD=D+M\n@aux1\nM=D\n@aux0\nD=M\n@aux1\nA=M\nM=D\n"
     self.assertEqual(command, expectedCommand)
示例#5
0
 def test_getARG(self):
     msm = MemorySegmentManager("testFile")
     command = msm.getSegment(SegmentType.ARG_SEGMENT, "offset")
     expectedCommand = "@offset\nD=A\n@ARG\nD=D+M\n@aux0\nM=D\n@aux0\nA=M\nD=M\n"
     self.assertEqual(command, expectedCommand)
示例#6
0
 def test_getAuxReference(self):
     msm = MemorySegmentManager("testFile")
     for i in range(5):
         command = msm.getAuxReference(str(i))
         expectedCommand = "@aux{}\n".format(i)
         self.assertEqual(command, expectedCommand)
示例#7
0
 def test_getAuxLabelsList(self):
     msm = MemorySegmentManager("testFile")
     labelsList = msm.getAuxLabelsList__()
     expectedLabelsList = ["aux{}".format(i) for i in range(5)]
     for label, expectedLabel in zip(labelsList, expectedLabelsList):
         self.assertEqual(label, expectedLabel)
示例#8
0
 def test_getTEMP(self):
     msm = MemorySegmentManager("testFile")
     for i in range(8):
         command = msm.getSegment(SegmentType.TEMP_SEGMENT, str(i + 1))
         expectedCommand = "@{}\nD=M\n".format(6 + i)
         self.assertEqual(command, expectedCommand)