コード例 #1
0
        public void ToAssembly_GivenTwoVars_ReturnsExpected()
        {
            var line     = $"function bar 2";
            var expected = new []
            {
                "// function bar 2",
                $"(bar)",
                "// push constant 0",
                "@0",
                "D=A",
                "@SP",
                "A=M",
                "M=D",
                "@SP",
                "M=M+1",
                "",
                "// push constant 0",
                "@0",
                "D=A",
                "@SP",
                "A=M",
                "M=D",
                "@SP",
                "M=M+1",
                ""
            };

            var actual = new FunctionTranslator().ToAssembly(line);

            Assert.Equal(expected, actual);
        }
コード例 #2
0
        public void ToAssembly_GivenZeroVars_ReturnsExpected(string functionName)
        {
            var line     = $"function {functionName} 0";
            var expected = new []
            {
                $"// function {functionName} 0",
                $"({functionName})"
            };

            var actual = new FunctionTranslator().ToAssembly(line);

            Assert.Equal(expected, actual);
        }