public void assign_a_value_command() { var input = "123 -> x"; var command = AOC_2015_Day07_Answer.ParseCommand(input); var answer = AOC_2015_Day07_Answer.Execute(new[] { command }); answer.Should().BeEquivalentTo(new[] { ("x", 123) });
public void parse_a_command_with_a_NOT_operation() { var input = "NOT e -> f"; var answer = AOC_2015_Day07_Answer.ParseCommand(input); answer.Should().BeEquivalentTo( new CommandWithANotOperation { OutputWire = "f", WireToNot = "e" } ); }
public void parse_a_command_with_a_value() { var input = "123 -> x"; var answer = AOC_2015_Day07_Answer.ParseCommand(input); answer.Should().BeEquivalentTo( new CommandAssigningValue { OutputWire = "x", ValueToAssign = "123" } ); }
public void parse_a_command_with_an_RSHIFT_operation() { var input = "p RSHIFT 2 -> q"; var answer = AOC_2015_Day07_Answer.ParseCommand(input); answer.Should().BeEquivalentTo( new CommandWithAnRshiftOperation { OutputWire = "q", AmountToShiftBy = 2, WireToShift = "p" } ); }
public void parse_a_command_with_an_OR_operation() { var input = "x OR y -> z"; var answer = AOC_2015_Day07_Answer.ParseCommand(input); answer.Should().BeEquivalentTo( new CommandWithOrOperaiton { OutputWire = "z", LeftWire = "x", RightWire = "y" } ); }