示例#1
0
        public void Initialise_InitialisesRegisters()
        {
            // Arrange
            var registerBank = new RegisterBank {
                V = new byte[] { 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf }
            };

            // Act
            registerBank.Initialise();

            // Assert
            Assert.AreEqual(16, registerBank.V.Length);
            Assert.AreEqual(0, registerBank.V[0x00]);
            Assert.AreEqual(0, registerBank.V[0x01]);
            Assert.AreEqual(0, registerBank.V[0x02]);
            Assert.AreEqual(0, registerBank.V[0x03]);
            Assert.AreEqual(0, registerBank.V[0x04]);
            Assert.AreEqual(0, registerBank.V[0x05]);
            Assert.AreEqual(0, registerBank.V[0x06]);
            Assert.AreEqual(0, registerBank.V[0x07]);
            Assert.AreEqual(0, registerBank.V[0x08]);
            Assert.AreEqual(0, registerBank.V[0x09]);
            Assert.AreEqual(0, registerBank.V[0x0a]);
            Assert.AreEqual(0, registerBank.V[0x0b]);
            Assert.AreEqual(0, registerBank.V[0x0c]);
            Assert.AreEqual(0, registerBank.V[0x0d]);
            Assert.AreEqual(0, registerBank.V[0x0e]);
            Assert.AreEqual(0, registerBank.V[0x0f]);
        }
示例#2
0
        public void Initialise_InitialisesStack()
        {
            // Arrange
            var registerBank = new RegisterBank();

            // Act
            registerBank.Initialise();

            // Assert
            Assert.AreEqual(0, registerBank.Stack.Count);
        }
示例#3
0
        public void Initialise_InitialisesStackPointer()
        {
            // Arrange
            var registerBank = new RegisterBank();

            // Act
            registerBank.Initialise();

            // Assert
            Assert.AreEqual(0xfa0, registerBank.SP);
        }
示例#4
0
        public void Initialise_InitialisesProgramCounter()
        {
            // Arrange
            var registerBank = new RegisterBank();

            // Act
            registerBank.Initialise();

            // Assert
            Assert.AreEqual(0x200, registerBank.PC);
        }
示例#5
0
        public void Initialise_InitialisesKey()
        {
            // Arrange
            var registerBank = new RegisterBank {
                Key = 0x1
            };

            // Act
            registerBank.Initialise();

            // Assert
            Assert.AreEqual(0, registerBank.Key);
        }
示例#6
0
        public void Initialise_InitialisesI()
        {
            // Arrange
            var registerBank = new RegisterBank {
                I = 0xfff
            };

            // Act
            registerBank.Initialise();

            // Assert
            Assert.AreEqual(0, registerBank.I);
        }
示例#7
0
        public void Initialise_InitialisesKeySound()
        {
            // Arrange
            var registerBank = new RegisterBank {
                Sound = 0xf
            };

            // Act
            registerBank.Initialise();

            // Assert
            Assert.AreEqual(0, registerBank.Sound);
        }
示例#8
0
        public void Initialise_InitialisesDelay()
        {
            // Arrange
            var registerBank = new RegisterBank {
                Delay = 0xf
            };

            // Act
            registerBank.Initialise();

            // Assert
            Assert.AreEqual(0, registerBank.Delay);
        }
示例#9
0
        public void Initialise_InitialisesKeyPressed()
        {
            // Arrange
            var registerBank = new RegisterBank {
                KeyPressed = true
            };

            // Act
            registerBank.Initialise();

            // Assert
            Assert.AreEqual(false, registerBank.KeyPressed);
        }