Esempio n. 1
0
        public void ToAssembly_GivenStackOperationCommand_ReturnsCorrectOutput(string command)
        {
            var mockTranslator = new Mock <ICommandTranslator>();

            mockTranslator
            .Setup(t => t.ToAssembly(command))
            .Returns(new [] { "stack op" });

            var actual = new CommandTranslatorBuilder()
                         .WithMockStackOperationTranslator(mockTranslator)
                         .CreateSut()
                         .ToAssembly(command);

            Assert.Equal(new [] { "stack op" }, actual);
        }
Esempio n. 2
0
        public void ToAssembly_GivenGotoCommand_ReturnsCorrectOutput()
        {
            var command = "goto FOO";

            var mockTranslator = new Mock <ICommandTranslator>();

            mockTranslator
            .Setup(t => t.ToAssembly(command))
            .Returns(new [] { "goto" });

            var actual = new CommandTranslatorBuilder()
                         .WithMockGotoTranslator(mockTranslator)
                         .CreateSut()
                         .ToAssembly(command);

            Assert.Equal(new [] { "goto" }, actual);
        }
Esempio n. 3
0
        public void ToAssembly_GivenFunctionCommand_ReturnsCorrectOutput()
        {
            var command = "function foo 2";

            var mockTranslator = new Mock <ICommandTranslator>();

            mockTranslator
            .Setup(t => t.ToAssembly(command))
            .Returns(new [] { "function" });

            var actual = new CommandTranslatorBuilder()
                         .WithMockFunctionTranslator(mockTranslator)
                         .CreateSut()
                         .ToAssembly(command);

            Assert.Equal(new [] { "function" }, actual);
        }
Esempio n. 4
0
        public void ToAssembly_GivenInvalidInput_ThrowsException(string command)
        {
            var sut = new CommandTranslatorBuilder().CreateSut();

            Assert.ThrowsAny <InvalidOperationException>(() => sut.ToAssembly(command));
        }