public void NoiseCEnableWorks(int value, bool result) { // --- Arrange var hostVm = new SpectrumSoundTestMachine(); var psg = new PsgState(hostVm); hostVm.SetCurrentCpuTact(47); // --- Act psg.Register7 = (byte)value; // --- Assert psg.NoiseCEnabled.ShouldBe(result); }
public void Register11And12Works(int reg11, int reg12, int result) { // --- Arrange var hostVm = new SpectrumSoundTestMachine(); var psg = new PsgState(hostVm); hostVm.SetCurrentCpuTact(47); // --- Act psg.Register11 = (byte)reg11; psg.Register12 = (byte)reg12; // --- Assert psg.EnvelopePeriod.ShouldBe((ushort)result); }
public void Register7Works(int value, int result) { // --- Arrange var hostVm = new SpectrumSoundTestMachine(); var psg = new PsgState(hostVm); hostVm.SetCurrentCpuTact(47); // --- Act psg.Register7 = (byte)value; // --- Assert psg.Register7.ShouldBe((byte)result); psg.MixerModified.ShouldBe(47); }
public void Register10Works(int value, int result, bool envelope) { // --- Arrange var hostVm = new SpectrumSoundTestMachine(); var psg = new PsgState(hostVm); hostVm.SetCurrentCpuTact(47); // --- Act psg.Register10 = (byte)value; // --- Assert psg.Register10.ShouldBe((byte)result); psg.AmplitudeCModified.ShouldBe(47); psg.UseEnvelopeC.ShouldBe(envelope); }
public void ChannelALastModificationWithMsbFirstWorks(int orig, int value, int result, int channel) { // --- Arrange var hostVm = new SpectrumSoundTestMachine(); var psg = new PsgState(hostVm); // --- Act hostVm.SetCurrentCpuTact(47); psg.Register1 = (byte)(orig >> 8); psg.Register1 = (byte)value; hostVm.SetCurrentCpuTact(48); psg.Register0 = (byte)orig; // --- Assert psg.Register1.ShouldBe((byte)result); psg.ChannelA.ShouldBe((ushort)channel); psg.ChannelAModified.ShouldBe(48); }
public void ChannelCCoarseTuneWorks(int orig, int value, int result, int channel) { // --- Arrange var hostVm = new SpectrumSoundTestMachine(); var psg = new PsgState(hostVm); hostVm.SetCurrentCpuTact(47); // --- Act psg.Register4 = (byte)orig; psg.Register5 = (byte)(orig >> 8); psg.Register5 = (byte)value; // --- Assert psg.Register5.ShouldBe((byte)result); psg.ChannelC.ShouldBe((ushort)channel); psg.ChannelCModified.ShouldBe(47); }
public void Register13Works(int value, int result, bool cont, bool attack, bool alternate, bool hold) { // --- Arrange var hostVm = new SpectrumSoundTestMachine(); var psg = new PsgState(hostVm); hostVm.SetCurrentCpuTact(47); // --- Act psg.Register13 = (byte)value; // --- Assert psg.Register13.ShouldBe((byte)result); psg.EnvelopeShapeModified.ShouldBe(47); psg.HoldFlag.ShouldBe(hold); psg.AlternateFlag.ShouldBe(alternate); psg.AttackFlag.ShouldBe(attack); psg.ContinueFlag.ShouldBe(cont); }
public void RegisterIndexerSetsValueProperly() { // --- Arrange var hostVm = new SpectrumSoundTestMachine(); var psg = new PsgState(hostVm); hostVm.SetCurrentCpuTact(47); // --- Act psg[0] = 0; psg[1] = 1; psg[2] = 2; psg[3] = 3; psg[4] = 4; psg[5] = 5; psg[6] = 6; psg[7] = 7; psg[8] = 8; psg[9] = 9; psg[10] = 10; psg[11] = 11; psg[12] = 12; psg[13] = 13; psg[14] = 14; // --- Assert psg.Register0.ShouldBe((byte)0); psg.Register1.ShouldBe((byte)1); psg.Register2.ShouldBe((byte)2); psg.Register3.ShouldBe((byte)3); psg.Register4.ShouldBe((byte)4); psg.Register5.ShouldBe((byte)5); psg.Register6.ShouldBe((byte)6); psg.Register7.ShouldBe((byte)7); psg.Register8.ShouldBe((byte)8); psg.Register9.ShouldBe((byte)9); psg.Register10.ShouldBe((byte)10); psg.Register11.ShouldBe((byte)11); psg.Register12.ShouldBe((byte)12); psg.Register13.ShouldBe((byte)13); psg.Register14.ShouldBe((byte)14); }
public void RegisterIndexerGetsValueProperly() { // --- Arrange var hostVm = new SpectrumSoundTestMachine(); var psg = new PsgState(hostVm); hostVm.SetCurrentCpuTact(47); psg.Register0 = 0; psg.Register1 = 1; psg.Register2 = 2; psg.Register3 = 3; psg.Register4 = 4; psg.Register5 = 5; psg.Register6 = 6; psg.Register7 = 7; psg.Register8 = 8; psg.Register9 = 9; psg.Register10 = 10; psg.Register11 = 11; psg.Register12 = 12; psg.Register13 = 13; psg.Register14 = 14; // --- Act/Assert psg[0].ShouldBe((byte)0); psg[1].ShouldBe((byte)1); psg[2].ShouldBe((byte)2); psg[3].ShouldBe((byte)3); psg[4].ShouldBe((byte)4); psg[5].ShouldBe((byte)5); psg[6].ShouldBe((byte)6); psg[7].ShouldBe((byte)7); psg[8].ShouldBe((byte)8); psg[9].ShouldBe((byte)9); psg[10].ShouldBe((byte)10); psg[11].ShouldBe((byte)11); psg[12].ShouldBe((byte)12); psg[13].ShouldBe((byte)13); psg[14].ShouldBe((byte)14); }