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); }
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); }
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); }
public void ToAssembly_GivenInvalidInput_ThrowsException(string command) { var sut = new CommandTranslatorBuilder().CreateSut(); Assert.ThrowsAny <InvalidOperationException>(() => sut.ToAssembly(command)); }