public void ParseInstruction_Returns_Correct_Destinations(string dest, ComputeDestinationType expected) { var parser = new ComputeDestinationParser(); // act ComputeDestinationType result = parser.ParseComputeDestination(dest); // assert Assert.AreEqual(expected, result); }
public void AssembleInstruction_Returns_Correct_Dest_Bits(ComputeDestinationType destinationType, string expected) { // arrange var instruction = new ComputeInstruction(destinationType, "D&A", ComputeJumpType.None); var computeBitsAssembler = Substitute.For<IHackComputeBitsAssembler>(); computeBitsAssembler.AssembleComputeBits(Arg.Any<string>()).Returns("0000000"); var assembler = new HackComputeInstructionAssembler(computeBitsAssembler); // act string[] result = assembler.AssembleInstruction(instruction); string line = result[0]; // assert Assert.AreEqual(expected, line); }
public void AssembleInstruction_Returns_Correct_Dest_Bits(ComputeDestinationType destinationType, string expected) { // arrange var instruction = new ComputeInstruction(destinationType, "D&A", ComputeJumpType.None); var computeBitsAssembler = Substitute.For <IHackComputeBitsAssembler>(); computeBitsAssembler.AssembleComputeBits(Arg.Any <string>()).Returns("0000000"); var assembler = new HackComputeInstructionAssembler(computeBitsAssembler); // act string[] result = assembler.AssembleInstruction(instruction); string line = result[0]; // assert Assert.AreEqual(expected, line); }
public ComputeInstruction(ComputeDestinationType destinationType, string computation, ComputeJumpType jumpType = ComputeJumpType.None) { _destinationType = destinationType; _computation = computation; _jumpType = jumpType; }