diff --git a/src/Directory.Build.props b/src/Directory.Build.props index c085349782..e1db019186 100644 --- a/src/Directory.Build.props +++ b/src/Directory.Build.props @@ -6,7 +6,7 @@ true true nullable - $(NoWarn);1591;NU1507 + $(NoWarn);1591;NU1507;IDE0041;IDE0008 @@ -16,9 +16,9 @@ - 16.0.0 - 16.0.0.0 - 16.0.0.0 + 16.1.0 + 16.1.0.0 + 16.1.0.0 true - - - - + + + + @@ -19,29 +19,29 @@ - - - - - + + + + + - + - - - + + + - - - + + + - + @@ -51,8 +51,8 @@ - - + + @@ -63,4 +63,4 @@ - + \ No newline at end of file diff --git a/src/Spice86/libportaudio.dll b/src/Spice86/libportaudio.dll deleted file mode 100644 index ed4ba5aa9f..0000000000 Binary files a/src/Spice86/libportaudio.dll and /dev/null differ diff --git a/tests/Directory.Packages.props b/tests/Directory.Packages.props index 286c327a29..ca9577046c 100644 --- a/tests/Directory.Packages.props +++ b/tests/Directory.Packages.props @@ -10,8 +10,8 @@ - - + + @@ -21,8 +21,8 @@ - - + + diff --git a/tests/Spice86.Tests/Dos/CdRomParityTests.cs b/tests/Spice86.Tests/Dos/CdRomParityTests.cs index 6b91dc6f15..2858a52950 100644 --- a/tests/Spice86.Tests/Dos/CdRomParityTests.cs +++ b/tests/Spice86.Tests/Dos/CdRomParityTests.cs @@ -55,7 +55,15 @@ public void CdRomDrive_Eject_DoesNotOpenDoorOrFlagMediaChangedForMountedImages() ISoundChannelCreator channelCreator = Substitute.For(); channelCreator .AddChannel(Arg.Any>(), Arg.Any(), Arg.Any(), Arg.Any>()) - .Returns(callInfo => new SoundChannel((Action)callInfo[0], (string)callInfo[2], (HashSet)callInfo[3])); + .Returns(callInfo => { + if (callInfo[0] is not Action handler || + callInfo[2] is not string name || + callInfo[3] is not HashSet features) { + throw new InvalidOperationException("CD audio channel registration arguments were invalid."); + } + + return new SoundChannel(handler, name, features); + }); IDriveActivityNotifier activityNotifier = Substitute.For(); CdRomDrive drive = new(image, channelCreator, activityNotifier, driveLetter: 'D'); bool initialMediaChanged = drive.MediaState.ReadAndClearMediaChanged(); diff --git a/tests/Spice86.Tests/Dos/CdRomTestFixture.cs b/tests/Spice86.Tests/Dos/CdRomTestFixture.cs index 59519281f1..88d5cadfe7 100644 --- a/tests/Spice86.Tests/Dos/CdRomTestFixture.cs +++ b/tests/Spice86.Tests/Dos/CdRomTestFixture.cs @@ -69,8 +69,13 @@ public static CdRomDrive CreateDrive(ICdRomImage image, out Action audioCal channelCreator .AddChannel(Arg.Any>(), Arg.Any(), Arg.Any(), Arg.Any>()) .Returns(callInfo => { - Action handler = (Action)callInfo[0]; - SoundChannel createdChannel = new SoundChannel(handler, (string)callInfo[2], (HashSet)callInfo[3]); + if (callInfo[0] is not Action handler || + callInfo[2] is not string name || + callInfo[3] is not HashSet features) { + throw new InvalidOperationException("CD audio channel registration arguments were invalid."); + } + + SoundChannel createdChannel = new SoundChannel(handler, name, features); capturedAudioCallback = handler; capturedChannel = createdChannel; return createdChannel; diff --git a/tests/Spice86.Tests/Dos/DosProcessManagerTests.cs b/tests/Spice86.Tests/Dos/DosProcessManagerTests.cs index 98b7059495..ffceceeb28 100644 --- a/tests/Spice86.Tests/Dos/DosProcessManagerTests.cs +++ b/tests/Spice86.Tests/Dos/DosProcessManagerTests.cs @@ -396,7 +396,15 @@ private static DosProcessManagerTestContext CreateContext(ushort? programEntryPo ISoundChannelCreator channelCreator = Substitute.For(); channelCreator.AddChannel(Arg.Any>(), Arg.Any(), Arg.Any(), Arg.Any>()) - .Returns(callInfo => new SoundChannel((Action)callInfo[0], (string)callInfo[2], (HashSet)callInfo[3])); + .Returns(callInfo => { + if (callInfo[0] is not Action handler || + callInfo[2] is not string name || + callInfo[3] is not HashSet features) { + throw new InvalidOperationException("CD audio channel registration arguments were invalid."); + } + + return new SoundChannel(handler, name, features); + }); IDriveActivityNotifier activityNotifier = Substitute.For(); DosProcessManager processManager = new(