public void BuildWhenCalledOnRegisterOperandAndOperandIsPcBuilderCreatesRegisterOperand()
        {
            var builder = new RegisterOperandBuilder();

            var token = new LabelToken { Content = "PC" };

            var operand = builder.Build(token);

            Assert.That(operand, Is.TypeOf(typeof(ProgramCounterOperand)));
        }
        public void BuildWhenCalledOnRegisterOperandBuilderThrowsForInvalidRegiterName()
        {
            var builder = new RegisterOperandBuilder();

            var token = new LabelToken { Content = "AX" };

            Assert.Throws<Exception>(() => builder.Build(token));
        }
        public void BuildWhenCalledOnRegisterOperandBuilderSetsRegisterValueToCorrespondingRegisterIdentifierForRegisterJ()
        {
            var builder = new RegisterOperandBuilder();

            var token = new LabelToken { Content = "J" };

            var operand = builder.Build(token);

            Assert.That(operand.RegisterValue, Is.EqualTo((int)RegisterIdentifier.RegJ));
        }