public void AssembleComputeBits_Returns_Correct_Comp_Bits(string input, string expected)
        {
            // arrange
            var computeBitAssembler = new HackComputeBitsAssembler();

            // act
            string result = computeBitAssembler.AssembleComputeBits(input);

            // assert
            Assert.AreEqual(expected, result);
        }
        public void AssembleComputeBits_Returns_7_Compute_Bits()
        {
            // arrange
            const string input = "D&A";
            var computeBitAssembler = new HackComputeBitsAssembler();

            // act
            string result = computeBitAssembler.AssembleComputeBits(input);

            // assert
            Assert.AreEqual(7, result.Length);
        }
        public void AssembleComputeBits_Returns_Throws_ArguementException_When_Input_Is_Invalid(string input)
        {
            // arrange
            var computeBitAssembler = new HackComputeBitsAssembler();

            // act
            TestDelegate testDelegate = () => computeBitAssembler.AssembleComputeBits(input);

            // assert
            Assert.Throws<ArgumentException>(testDelegate);
        }