Beispiel #1
0
        public void CloneInvalidType()
        {
            // Setup
            CoreAction action = new CoreAction((CoreRequest.Types) 999, 100);

            // Act
            CoreAction clone = action.Clone();

            // Verify
            Assert.IsNull(clone);
        }
Beispiel #2
0
        public void CloneReset()
        {
            // Setup
            CoreAction action = CoreAction.Reset(100);

            // Act
            CoreAction clone = action.Clone();

            // Verify
            Assert.AreEqual(CoreRequest.Types.Reset, clone.Type);
            Assert.AreEqual(100, clone.Ticks);
        }
Beispiel #3
0
        public void CloneCoreVersion()
        {
            // Setup
            CoreAction action = CoreAction.CoreVersion(100, 1);

            // Act
            CoreAction clone = action.Clone();

            // Verify
            Assert.AreEqual(CoreRequest.Types.CoreVersion, clone.Type);
            Assert.AreEqual(100, clone.Ticks);
            Assert.AreEqual(1, clone.Version);
        }
Beispiel #4
0
        public void CloneCreateSnapshot()
        {
            // Setup
            CoreAction action = CoreAction.CreateSnapshot(100, 42);

            // Act
            CoreAction clone = action.Clone();

            // Verify
            Assert.AreEqual(CoreRequest.Types.CreateSnapshot, clone.Type);
            Assert.AreEqual(100, clone.Ticks);
            Assert.AreEqual(42, clone.SnapshotId);
        }
Beispiel #5
0
        public void CloneKeyPress()
        {
            // Setup
            CoreAction action = CoreAction.KeyPress(100, 78, true);

            // Act
            CoreAction clone = action.Clone();

            // Verify
            Assert.AreEqual(CoreRequest.Types.KeyPress, clone.Type);
            Assert.AreEqual(100, clone.Ticks);
            Assert.AreEqual(78, clone.KeyCode);
            Assert.AreEqual(true, clone.KeyDown);
        }
Beispiel #6
0
        public void CloneRunUntil()
        {
            // Setup
            CoreAction action = CoreAction.RunUntil(100, 4000000, null);

            // Act
            CoreAction clone = action.Clone();

            // Verify
            Assert.AreEqual(CoreRequest.Types.RunUntil, clone.Type);
            Assert.AreEqual(100, clone.Ticks);
            Assert.AreEqual(4000000, clone.StopTicks);
            Assert.AreEqual(null, clone.AudioSamples);
        }
Beispiel #7
0
        public void CloneLoadCore()
        {
            // Setup
            byte[] state = new byte[1000];
            for (int i = 0; i < state.Length; i++)
            {
                state[i] = (byte)(i % 0xff);
            }

            CoreAction action = CoreAction.LoadCore(100, new MemoryBlob(state));

            // Act
            CoreAction clone = action.Clone();

            // Verify
            Assert.AreEqual(CoreRequest.Types.LoadCore, clone.Type);
            Assert.AreEqual(100, clone.Ticks);
            Assert.AreEqual(state, clone.CoreState.GetBytes());
        }
Beispiel #8
0
        public void CloneRunUntilWithAudio()
        {
            // Setup
            List <UInt16> audioSamples = new List <UInt16> {
                0x01, 0x02
            };
            CoreAction action = CoreAction.RunUntil(100, 4000000, audioSamples);

            // Act
            CoreAction clone = action.Clone();

            // Verify
            Assert.AreEqual(CoreRequest.Types.RunUntil, clone.Type);
            Assert.AreEqual(100, clone.Ticks);
            Assert.AreEqual(4000000, clone.StopTicks);
            Assert.AreEqual(new List <UInt16> {
                0x01, 0x02
            }, clone.AudioSamples);
        }
Beispiel #9
0
        public void CloneLoadTape(bool eject)
        {
            // Setup
            byte[]     bytes  = new byte[] { 0x01, 0x02 };
            CoreAction action = CoreAction.LoadTape(100, eject ? null : new MemoryBlob(bytes));

            // Act
            CoreAction clone = action.Clone();

            // Verify
            Assert.AreEqual(CoreRequest.Types.LoadTape, clone.Type);
            Assert.AreEqual(100, clone.Ticks);

            if (eject)
            {
                Assert.IsNull(clone.MediaBuffer);
            }
            else
            {
                Assert.AreNotSame(action.MediaBuffer, clone.MediaBuffer);
                Assert.AreEqual(bytes, clone.MediaBuffer.GetBytes());
            }
        }