public void SqureShouldReturnNumberTooLow()
        {
            var ram = new Ram(8);
            var cpu = new Cpu(2, 32, ram);

            ram.SaveValue(-1);
            var actual = cpu.SquareNumber();
            var expected = NumTooLow;

            Assert.AreEqual(expected, actual);
        }
        public void SqureShouldReturnNumberTooHigh128bit()
        {
            var ram = new Ram(8);
            var cpu = new Cpu(2, 128, ram);

            ram.SaveValue(2001);
            var actual = cpu.SquareNumber();
            var expected = NumTooHigh;

            Assert.AreEqual(expected, actual);
        }
        public void SqureShouldReturnCorrectValue()
        {
            int numberToSqure = 500;
            int square = numberToSqure * numberToSqure;
 
            // Create a mocked RAM to give a number to the CPU to operate with
            var mockedRam = new Mock<IRam>();
            mockedRam.Setup(r => r.LoadValue()).Returns(numberToSqure);

            var cpu = new Cpu(2, 32, mockedRam.Object);

            var actual = cpu.SquareNumber();
            var expected = string.Format(SquareResultFormat, numberToSqure, square);

            Assert.AreEqual(expected, actual);
        }