diff --git a/Directory.Packages.props b/Directory.Packages.props index e722dd8838..7460d066f7 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -3,47 +3,47 @@ true - - - + + + - - - + + + - + - + - + - + - - + + - + - - - - - + + + + + diff --git a/src/Ryujinx.Graphics.Vulkan/BufferHolder.cs b/src/Ryujinx.Graphics.Vulkan/BufferHolder.cs index 3dcbc3130b..e840fdc02b 100644 --- a/src/Ryujinx.Graphics.Vulkan/BufferHolder.cs +++ b/src/Ryujinx.Graphics.Vulkan/BufferHolder.cs @@ -122,7 +122,7 @@ namespace Ryujinx.Graphics.Vulkan Range = (uint)size, }; - _gd.Api.CreateBufferView(_device, bufferViewCreateInfo, null, out var bufferView).ThrowOnError(); + _gd.Api.CreateBufferView(_device, in bufferViewCreateInfo, null, out var bufferView).ThrowOnError(); return new Auto(new DisposableBufferView(_gd.Api, _device, bufferView), this, _waitable, _buffer); } @@ -153,7 +153,7 @@ namespace Ryujinx.Graphics.Vulkan PipelineStageFlags.AllCommandsBit, DependencyFlags.DeviceGroupBit, 1, - memoryBarrier, + in memoryBarrier, 0, null, 0, @@ -770,7 +770,7 @@ namespace Ryujinx.Graphics.Vulkan 0, null, 1, - memoryBarrier, + in memoryBarrier, 0, null); } diff --git a/src/Ryujinx.Graphics.Vulkan/BufferManager.cs b/src/Ryujinx.Graphics.Vulkan/BufferManager.cs index 1b6ac99880..7523913ec0 100644 --- a/src/Ryujinx.Graphics.Vulkan/BufferManager.cs +++ b/src/Ryujinx.Graphics.Vulkan/BufferManager.cs @@ -221,7 +221,7 @@ namespace Ryujinx.Graphics.Vulkan PBufferBinds = &bufferBind }; - gd.Api.QueueBindSparse(gd.Queue, 1, bindSparseInfo, default).ThrowOnError(); + gd.Api.QueueBindSparse(gd.Queue, 1, in bindSparseInfo, default).ThrowOnError(); } var holder = new BufferHolder(gd, _device, buffer, (int)size, storageAllocations); diff --git a/src/Ryujinx.Graphics.Vulkan/BufferState.cs b/src/Ryujinx.Graphics.Vulkan/BufferState.cs index d585dd53cc..a894b586c7 100644 --- a/src/Ryujinx.Graphics.Vulkan/BufferState.cs +++ b/src/Ryujinx.Graphics.Vulkan/BufferState.cs @@ -24,8 +24,10 @@ namespace Ryujinx.Graphics.Vulkan if (_buffer != null) { var buffer = _buffer.Get(cbs, _offset, _size, true).Value; + var offset = (ulong)_offset; + var size = (ulong)_size; - gd.TransformFeedbackApi.CmdBindTransformFeedbackBuffers(cbs.CommandBuffer, binding, 1, buffer, (ulong)_offset, (ulong)_size); + gd.TransformFeedbackApi.CmdBindTransformFeedbackBuffers(cbs.CommandBuffer, binding, 1, in buffer, in offset, in size); } } diff --git a/src/Ryujinx.Graphics.Vulkan/CommandBufferPool.cs b/src/Ryujinx.Graphics.Vulkan/CommandBufferPool.cs index e3938392f2..e1fd3fb9dc 100644 --- a/src/Ryujinx.Graphics.Vulkan/CommandBufferPool.cs +++ b/src/Ryujinx.Graphics.Vulkan/CommandBufferPool.cs @@ -45,7 +45,7 @@ namespace Ryujinx.Graphics.Vulkan Level = CommandBufferLevel.Primary, }; - api.AllocateCommandBuffers(device, allocateInfo, out CommandBuffer); + api.AllocateCommandBuffers(device, in allocateInfo, out CommandBuffer); Dependants = new List(); Waitables = new List(); @@ -83,7 +83,7 @@ namespace Ryujinx.Graphics.Vulkan CommandPoolCreateFlags.ResetCommandBufferBit, }; - api.CreateCommandPool(device, commandPoolCreateInfo, null, out _pool).ThrowOnError(); + api.CreateCommandPool(device, in commandPoolCreateInfo, null, out _pool).ThrowOnError(); // We need at least 2 command buffers to get texture data in some cases. _totalCommandBuffers = isLight ? 2 : MaxCommandBuffers; @@ -253,7 +253,7 @@ namespace Ryujinx.Graphics.Vulkan SType = StructureType.CommandBufferBeginInfo, }; - _api.BeginCommandBuffer(entry.CommandBuffer, commandBufferBeginInfo).ThrowOnError(); + _api.BeginCommandBuffer(entry.CommandBuffer, in commandBufferBeginInfo).ThrowOnError(); return new CommandBufferScoped(this, entry.CommandBuffer, cursor); } @@ -311,7 +311,7 @@ namespace Ryujinx.Graphics.Vulkan lock (_queueLock) { - _api.QueueSubmit(_queue, 1, sInfo, entry.Fence.GetUnsafe()).ThrowOnError(); + _api.QueueSubmit(_queue, 1, in sInfo, entry.Fence.GetUnsafe()).ThrowOnError(); } } } diff --git a/src/Ryujinx.Graphics.Vulkan/DescriptorSetCollection.cs b/src/Ryujinx.Graphics.Vulkan/DescriptorSetCollection.cs index 846dd5c7d5..40fc01b247 100644 --- a/src/Ryujinx.Graphics.Vulkan/DescriptorSetCollection.cs +++ b/src/Ryujinx.Graphics.Vulkan/DescriptorSetCollection.cs @@ -43,7 +43,7 @@ namespace Ryujinx.Graphics.Vulkan PBufferInfo = &bufferInfo, }; - _holder.Api.UpdateDescriptorSets(_holder.Device, 1, writeDescriptorSet, 0, null); + _holder.Api.UpdateDescriptorSets(_holder.Device, 1, in writeDescriptorSet, 0, null); } } @@ -66,7 +66,7 @@ namespace Ryujinx.Graphics.Vulkan PBufferInfo = pBufferInfo, }; - _holder.Api.UpdateDescriptorSets(_holder.Device, 1, writeDescriptorSet, 0, null); + _holder.Api.UpdateDescriptorSets(_holder.Device, 1, in writeDescriptorSet, 0, null); } } @@ -84,7 +84,7 @@ namespace Ryujinx.Graphics.Vulkan PImageInfo = &imageInfo, }; - _holder.Api.UpdateDescriptorSets(_holder.Device, 1, writeDescriptorSet, 0, null); + _holder.Api.UpdateDescriptorSets(_holder.Device, 1, in writeDescriptorSet, 0, null); } } @@ -107,7 +107,7 @@ namespace Ryujinx.Graphics.Vulkan PImageInfo = pImageInfo, }; - _holder.Api.UpdateDescriptorSets(_holder.Device, 1, writeDescriptorSet, 0, null); + _holder.Api.UpdateDescriptorSets(_holder.Device, 1, in writeDescriptorSet, 0, null); } } @@ -144,7 +144,7 @@ namespace Ryujinx.Graphics.Vulkan PImageInfo = pImageInfo, }; - _holder.Api.UpdateDescriptorSets(_holder.Device, 1, writeDescriptorSet, 0, null); + _holder.Api.UpdateDescriptorSets(_holder.Device, 1, in writeDescriptorSet, 0, null); i += count - 1; } @@ -166,7 +166,7 @@ namespace Ryujinx.Graphics.Vulkan PTexelBufferView = &texelBufferView, }; - _holder.Api.UpdateDescriptorSets(_holder.Device, 1, writeDescriptorSet, 0, null); + _holder.Api.UpdateDescriptorSets(_holder.Device, 1, in writeDescriptorSet, 0, null); } } @@ -200,7 +200,7 @@ namespace Ryujinx.Graphics.Vulkan PTexelBufferView = pTexelBufferView + i, }; - _holder.Api.UpdateDescriptorSets(_holder.Device, 1, writeDescriptorSet, 0, null); + _holder.Api.UpdateDescriptorSets(_holder.Device, 1, in writeDescriptorSet, 0, null); } i += count; diff --git a/src/Ryujinx.Graphics.Vulkan/DescriptorSetManager.cs b/src/Ryujinx.Graphics.Vulkan/DescriptorSetManager.cs index 707ae12922..97669942cb 100644 --- a/src/Ryujinx.Graphics.Vulkan/DescriptorSetManager.cs +++ b/src/Ryujinx.Graphics.Vulkan/DescriptorSetManager.cs @@ -40,7 +40,7 @@ namespace Ryujinx.Graphics.Vulkan PPoolSizes = pPoolsSize, }; - Api.CreateDescriptorPool(device, descriptorPoolCreateInfo, null, out _pool).ThrowOnError(); + Api.CreateDescriptorPool(device, in descriptorPoolCreateInfo, null, out _pool).ThrowOnError(); } } diff --git a/src/Ryujinx.Graphics.Vulkan/FramebufferParams.cs b/src/Ryujinx.Graphics.Vulkan/FramebufferParams.cs index 5c5a8f3ad4..763d26eb54 100644 --- a/src/Ryujinx.Graphics.Vulkan/FramebufferParams.cs +++ b/src/Ryujinx.Graphics.Vulkan/FramebufferParams.cs @@ -250,7 +250,7 @@ namespace Ryujinx.Graphics.Vulkan Layers = Layers, }; - api.CreateFramebuffer(_device, framebufferCreateInfo, null, out var framebuffer).ThrowOnError(); + api.CreateFramebuffer(_device, in framebufferCreateInfo, null, out var framebuffer).ThrowOnError(); return new Auto(new DisposableFramebuffer(api, _device, framebuffer), null, _attachments); } diff --git a/src/Ryujinx.Graphics.Vulkan/HostMemoryAllocator.cs b/src/Ryujinx.Graphics.Vulkan/HostMemoryAllocator.cs index baccc698f2..ff15652467 100644 --- a/src/Ryujinx.Graphics.Vulkan/HostMemoryAllocator.cs +++ b/src/Ryujinx.Graphics.Vulkan/HostMemoryAllocator.cs @@ -115,7 +115,7 @@ namespace Ryujinx.Graphics.Vulkan PNext = &importInfo, }; - Result result = _api.AllocateMemory(_device, memoryAllocateInfo, null, out var deviceMemory); + Result result = _api.AllocateMemory(_device, in memoryAllocateInfo, null, out var deviceMemory); if (result < Result.Success) { diff --git a/src/Ryujinx.Graphics.Vulkan/MemoryAllocatorBlockList.cs b/src/Ryujinx.Graphics.Vulkan/MemoryAllocatorBlockList.cs index a1acc90f94..3d42ed7e2c 100644 --- a/src/Ryujinx.Graphics.Vulkan/MemoryAllocatorBlockList.cs +++ b/src/Ryujinx.Graphics.Vulkan/MemoryAllocatorBlockList.cs @@ -220,7 +220,7 @@ namespace Ryujinx.Graphics.Vulkan MemoryTypeIndex = (uint)MemoryTypeIndex, }; - _api.AllocateMemory(_device, memoryAllocateInfo, null, out var deviceMemory).ThrowOnError(); + _api.AllocateMemory(_device, in memoryAllocateInfo, null, out var deviceMemory).ThrowOnError(); IntPtr hostPointer = IntPtr.Zero; diff --git a/src/Ryujinx.Graphics.Vulkan/PipelineBase.cs b/src/Ryujinx.Graphics.Vulkan/PipelineBase.cs index bda6167d7b..57fa592640 100644 --- a/src/Ryujinx.Graphics.Vulkan/PipelineBase.cs +++ b/src/Ryujinx.Graphics.Vulkan/PipelineBase.cs @@ -102,7 +102,7 @@ namespace Ryujinx.Graphics.Vulkan SType = StructureType.PipelineCacheCreateInfo, }; - gd.Api.CreatePipelineCache(device, pipelineCacheCreateInfo, null, out PipelineCache).ThrowOnError(); + gd.Api.CreatePipelineCache(device, in pipelineCacheCreateInfo, null, out PipelineCache).ThrowOnError(); _descriptorSetUpdater = new DescriptorSetUpdater(gd, device); _vertexBufferUpdater = new VertexBufferUpdater(gd); @@ -1628,7 +1628,7 @@ namespace Ryujinx.Graphics.Vulkan ClearValueCount = 1, }; - Gd.Api.CmdBeginRenderPass(CommandBuffer, renderPassBeginInfo, SubpassContents.Inline); + Gd.Api.CmdBeginRenderPass(CommandBuffer, in renderPassBeginInfo, SubpassContents.Inline); RenderPassActive = true; } } diff --git a/src/Ryujinx.Graphics.Vulkan/PipelineConverter.cs b/src/Ryujinx.Graphics.Vulkan/PipelineConverter.cs index 89ce10b0aa..85069c6b27 100644 --- a/src/Ryujinx.Graphics.Vulkan/PipelineConverter.cs +++ b/src/Ryujinx.Graphics.Vulkan/PipelineConverter.cs @@ -116,7 +116,7 @@ namespace Ryujinx.Graphics.Vulkan DependencyCount = 1, }; - gd.Api.CreateRenderPass(device, renderPassCreateInfo, null, out var renderPass).ThrowOnError(); + gd.Api.CreateRenderPass(device, in renderPassCreateInfo, null, out var renderPass).ThrowOnError(); return new DisposableRenderPass(gd.Api, device, renderPass); } diff --git a/src/Ryujinx.Graphics.Vulkan/PipelineLayoutFactory.cs b/src/Ryujinx.Graphics.Vulkan/PipelineLayoutFactory.cs index bca119f6ad..8d78156161 100644 --- a/src/Ryujinx.Graphics.Vulkan/PipelineLayoutFactory.cs +++ b/src/Ryujinx.Graphics.Vulkan/PipelineLayoutFactory.cs @@ -91,7 +91,7 @@ namespace Ryujinx.Graphics.Vulkan Flags = flags, }; - gd.Api.CreateDescriptorSetLayout(device, descriptorSetLayoutCreateInfo, null, out layouts[setIndex]).ThrowOnError(); + gd.Api.CreateDescriptorSetLayout(device, in descriptorSetLayoutCreateInfo, null, out layouts[setIndex]).ThrowOnError(); } } diff --git a/src/Ryujinx.Graphics.Vulkan/Queries/BufferedQuery.cs b/src/Ryujinx.Graphics.Vulkan/Queries/BufferedQuery.cs index 714cb2833c..c9a546648f 100644 --- a/src/Ryujinx.Graphics.Vulkan/Queries/BufferedQuery.cs +++ b/src/Ryujinx.Graphics.Vulkan/Queries/BufferedQuery.cs @@ -52,7 +52,7 @@ namespace Ryujinx.Graphics.Vulkan.Queries PipelineStatistics = flags, }; - gd.Api.CreateQueryPool(device, queryPoolCreateInfo, null, out _queryPool).ThrowOnError(); + gd.Api.CreateQueryPool(device, in queryPoolCreateInfo, null, out _queryPool).ThrowOnError(); } var buffer = gd.BufferManager.Create(gd, sizeof(long), forConditionalRendering: true); diff --git a/src/Ryujinx.Graphics.Vulkan/RenderPassHolder.cs b/src/Ryujinx.Graphics.Vulkan/RenderPassHolder.cs index b2dd0dd874..a364c57163 100644 --- a/src/Ryujinx.Graphics.Vulkan/RenderPassHolder.cs +++ b/src/Ryujinx.Graphics.Vulkan/RenderPassHolder.cs @@ -125,7 +125,7 @@ namespace Ryujinx.Graphics.Vulkan DependencyCount = 1, }; - gd.Api.CreateRenderPass(device, renderPassCreateInfo, null, out var renderPass).ThrowOnError(); + gd.Api.CreateRenderPass(device, in renderPassCreateInfo, null, out var renderPass).ThrowOnError(); _renderPass = new Auto(new DisposableRenderPass(gd.Api, device, renderPass)); } diff --git a/src/Ryujinx.Graphics.Vulkan/SamplerHolder.cs b/src/Ryujinx.Graphics.Vulkan/SamplerHolder.cs index f67daeeccb..7f37ab1398 100644 --- a/src/Ryujinx.Graphics.Vulkan/SamplerHolder.cs +++ b/src/Ryujinx.Graphics.Vulkan/SamplerHolder.cs @@ -68,7 +68,7 @@ namespace Ryujinx.Graphics.Vulkan samplerCreateInfo.BorderColor = BorderColor.FloatCustomExt; } - gd.Api.CreateSampler(device, samplerCreateInfo, null, out var sampler).ThrowOnError(); + gd.Api.CreateSampler(device, in samplerCreateInfo, null, out var sampler).ThrowOnError(); _sampler = new Auto(new DisposableSampler(gd.Api, device, sampler)); } diff --git a/src/Ryujinx.Graphics.Vulkan/Shader.cs b/src/Ryujinx.Graphics.Vulkan/Shader.cs index 06f3499db9..1c8caffd9a 100644 --- a/src/Ryujinx.Graphics.Vulkan/Shader.cs +++ b/src/Ryujinx.Graphics.Vulkan/Shader.cs @@ -64,7 +64,7 @@ namespace Ryujinx.Graphics.Vulkan PCode = (uint*)pCode, }; - api.CreateShaderModule(device, shaderModuleCreateInfo, null, out _module).ThrowOnError(); + api.CreateShaderModule(device, in shaderModuleCreateInfo, null, out _module).ThrowOnError(); } CompileStatus = ProgramLinkStatus.Success; diff --git a/src/Ryujinx.Graphics.Vulkan/TextureCopy.cs b/src/Ryujinx.Graphics.Vulkan/TextureCopy.cs index fdc0a248bd..45cddd772f 100644 --- a/src/Ryujinx.Graphics.Vulkan/TextureCopy.cs +++ b/src/Ryujinx.Graphics.Vulkan/TextureCopy.cs @@ -88,7 +88,7 @@ namespace Ryujinx.Graphics.Vulkan DstOffsets = dstOffsets, }; - api.CmdBlitImage(commandBuffer, srcImage, ImageLayout.General, dstImage, ImageLayout.General, 1, region, filter); + api.CmdBlitImage(commandBuffer, srcImage, ImageLayout.General, dstImage, ImageLayout.General, 1, in region, filter); copySrcLevel++; copyDstLevel++; @@ -320,13 +320,13 @@ namespace Ryujinx.Graphics.Vulkan { var region = new ImageResolve(srcSl, new Offset3D(0, 0, srcZ), dstSl, new Offset3D(0, 0, dstZ), extent); - api.CmdResolveImage(commandBuffer, srcImage, ImageLayout.General, dstImage, ImageLayout.General, 1, region); + api.CmdResolveImage(commandBuffer, srcImage, ImageLayout.General, dstImage, ImageLayout.General, 1, in region); } else { var region = new ImageCopy(srcSl, new Offset3D(0, 0, srcZ), dstSl, new Offset3D(0, 0, dstZ), extent); - api.CmdCopyImage(commandBuffer, srcImage, ImageLayout.General, dstImage, ImageLayout.General, 1, region); + api.CmdCopyImage(commandBuffer, srcImage, ImageLayout.General, dstImage, ImageLayout.General, 1, in region); } width = Math.Max(1, width >> 1); @@ -422,7 +422,7 @@ namespace Ryujinx.Graphics.Vulkan DependencyCount = 1, }; - gd.Api.CreateRenderPass2(device, renderPassCreateInfo, null, out var renderPass).ThrowOnError(); + gd.Api.CreateRenderPass2(device, in renderPassCreateInfo, null, out var renderPass).ThrowOnError(); using var rp = new Auto(new DisposableRenderPass(gd.Api, device, renderPass)); @@ -445,7 +445,7 @@ namespace Ryujinx.Graphics.Vulkan Layers = (uint)src.Layers, }; - gd.Api.CreateFramebuffer(device, framebufferCreateInfo, null, out var framebuffer).ThrowOnError(); + gd.Api.CreateFramebuffer(device, in framebufferCreateInfo, null, out var framebuffer).ThrowOnError(); using var fb = new Auto(new DisposableFramebuffer(gd.Api, device, framebuffer), null, srcView, dstView); var renderArea = new Rect2D(null, new Extent2D((uint)src.Info.Width, (uint)src.Info.Height)); @@ -465,7 +465,7 @@ namespace Ryujinx.Graphics.Vulkan // to resolve the depth-stencil texture. // TODO: Do speculative resolve and part of the same render pass as the draw to avoid // ending the current render pass? - gd.Api.CmdBeginRenderPass(cbs.CommandBuffer, renderPassBeginInfo, SubpassContents.Inline); + gd.Api.CmdBeginRenderPass(cbs.CommandBuffer, in renderPassBeginInfo, SubpassContents.Inline); gd.Api.CmdEndRenderPass(cbs.CommandBuffer); } } diff --git a/src/Ryujinx.Graphics.Vulkan/TextureStorage.cs b/src/Ryujinx.Graphics.Vulkan/TextureStorage.cs index f36db68de3..f78b9ed476 100644 --- a/src/Ryujinx.Graphics.Vulkan/TextureStorage.cs +++ b/src/Ryujinx.Graphics.Vulkan/TextureStorage.cs @@ -114,7 +114,7 @@ namespace Ryujinx.Graphics.Vulkan Flags = flags, }; - gd.Api.CreateImage(device, imageCreateInfo, null, out _image).ThrowOnError(); + gd.Api.CreateImage(device, in imageCreateInfo, null, out _image).ThrowOnError(); if (foreignAllocation == null) { @@ -284,7 +284,7 @@ namespace Ryujinx.Graphics.Vulkan 0, null, 1, - barrier); + in barrier); if (useTempCbs) { @@ -401,11 +401,11 @@ namespace Ryujinx.Graphics.Vulkan if (to) { - _gd.Api.CmdCopyImageToBuffer(commandBuffer, image, ImageLayout.General, buffer, 1, region); + _gd.Api.CmdCopyImageToBuffer(commandBuffer, image, ImageLayout.General, buffer, 1, in region); } else { - _gd.Api.CmdCopyBufferToImage(commandBuffer, buffer, image, ImageLayout.General, 1, region); + _gd.Api.CmdCopyBufferToImage(commandBuffer, buffer, image, ImageLayout.General, 1, in region); } offset += mipSize; diff --git a/src/Ryujinx.Graphics.Vulkan/TextureView.cs b/src/Ryujinx.Graphics.Vulkan/TextureView.cs index d4f26a2dd4..c5453c0c7e 100644 --- a/src/Ryujinx.Graphics.Vulkan/TextureView.cs +++ b/src/Ryujinx.Graphics.Vulkan/TextureView.cs @@ -117,7 +117,7 @@ namespace Ryujinx.Graphics.Vulkan PNext = &imageViewUsage, }; - gd.Api.CreateImageView(device, imageCreateInfo, null, out var imageView).ThrowOnError(); + gd.Api.CreateImageView(device, in imageCreateInfo, null, out var imageView).ThrowOnError(); return new Auto(new DisposableImageView(gd.Api, device, imageView), null, storage.GetImage()); } @@ -492,7 +492,7 @@ namespace Ryujinx.Graphics.Vulkan dstStageMask, DependencyFlags.None, 1, - memoryBarrier, + in memoryBarrier, 0, null, 0, @@ -557,7 +557,7 @@ namespace Ryujinx.Graphics.Vulkan 0, null, 1, - memoryBarrier); + in memoryBarrier); } public TextureView GetView(Format format) @@ -949,11 +949,11 @@ namespace Ryujinx.Graphics.Vulkan if (to) { - _gd.Api.CmdCopyImageToBuffer(commandBuffer, image, ImageLayout.General, buffer, 1, region); + _gd.Api.CmdCopyImageToBuffer(commandBuffer, image, ImageLayout.General, buffer, 1, in region); } else { - _gd.Api.CmdCopyBufferToImage(commandBuffer, buffer, image, ImageLayout.General, 1, region); + _gd.Api.CmdCopyBufferToImage(commandBuffer, buffer, image, ImageLayout.General, 1, in region); } offset += mipSize; @@ -1010,11 +1010,11 @@ namespace Ryujinx.Graphics.Vulkan if (to) { - _gd.Api.CmdCopyImageToBuffer(commandBuffer, image, ImageLayout.General, buffer, 1, region); + _gd.Api.CmdCopyImageToBuffer(commandBuffer, image, ImageLayout.General, buffer, 1, in region); } else { - _gd.Api.CmdCopyBufferToImage(commandBuffer, buffer, image, ImageLayout.General, 1, region); + _gd.Api.CmdCopyBufferToImage(commandBuffer, buffer, image, ImageLayout.General, 1, in region); } } diff --git a/src/Ryujinx.Graphics.Vulkan/Window.cs b/src/Ryujinx.Graphics.Vulkan/Window.cs index efb0b31f97..d67362be30 100644 --- a/src/Ryujinx.Graphics.Vulkan/Window.cs +++ b/src/Ryujinx.Graphics.Vulkan/Window.cs @@ -160,7 +160,7 @@ namespace Ryujinx.Graphics.Vulkan SwizzleComponent.Blue, SwizzleComponent.Alpha); - _gd.SwapchainApi.CreateSwapchain(_device, swapchainCreateInfo, null, out _swapchain).ThrowOnError(); + _gd.SwapchainApi.CreateSwapchain(_device, in swapchainCreateInfo, null, out _swapchain).ThrowOnError(); _gd.SwapchainApi.GetSwapchainImages(_device, _swapchain, &imageCount, null); @@ -187,14 +187,14 @@ namespace Ryujinx.Graphics.Vulkan for (int i = 0; i < _imageAvailableSemaphores.Length; i++) { - _gd.Api.CreateSemaphore(_device, semaphoreCreateInfo, null, out _imageAvailableSemaphores[i]).ThrowOnError(); + _gd.Api.CreateSemaphore(_device, in semaphoreCreateInfo, null, out _imageAvailableSemaphores[i]).ThrowOnError(); } _renderFinishedSemaphores = new Semaphore[imageCount]; for (int i = 0; i < _renderFinishedSemaphores.Length; i++) { - _gd.Api.CreateSemaphore(_device, semaphoreCreateInfo, null, out _renderFinishedSemaphores[i]).ThrowOnError(); + _gd.Api.CreateSemaphore(_device, in semaphoreCreateInfo, null, out _renderFinishedSemaphores[i]).ThrowOnError(); } } @@ -220,7 +220,7 @@ namespace Ryujinx.Graphics.Vulkan SubresourceRange = subresourceRange, }; - _gd.Api.CreateImageView(_device, imageCreateInfo, null, out var imageView).ThrowOnError(); + _gd.Api.CreateImageView(_device, in imageCreateInfo, null, out var imageView).ThrowOnError(); return new TextureView(_gd, _device, new DisposableImageView(_gd.Api, _device, imageView), info, format); } @@ -479,7 +479,7 @@ namespace Ryujinx.Graphics.Vulkan lock (_gd.QueueLock) { - _gd.SwapchainApi.QueuePresent(_gd.Queue, presentInfo); + _gd.SwapchainApi.QueuePresent(_gd.Queue, in presentInfo); } } @@ -611,7 +611,7 @@ namespace Ryujinx.Graphics.Vulkan 0, null, 1, - barrier); + in barrier); } private void CaptureFrame(TextureView texture, int x, int y, int width, int height, bool isBgra, bool flipX, bool flipY) diff --git a/src/Ryujinx.Gtk3/UI/Windows/AvatarWindow.cs b/src/Ryujinx.Gtk3/UI/Windows/AvatarWindow.cs index d9ecd47b76..b168cf01e8 100644 --- a/src/Ryujinx.Gtk3/UI/Windows/AvatarWindow.cs +++ b/src/Ryujinx.Gtk3/UI/Windows/AvatarWindow.cs @@ -20,7 +20,7 @@ using System.IO; using System.Reflection; using Image = SixLabors.ImageSharp.Image; -namespace Ryujinx.UI.Windows +namespace Ryujinx.Gtk3.UI.Windows { public class AvatarWindow : Window { @@ -170,7 +170,7 @@ namespace Ryujinx.UI.Windows { using MemoryStream streamJpg = MemoryStreamManager.Shared.GetStream(); - Image avatarImage = Image.Load(data, new PngDecoder()); + Image avatarImage = Image.Load(data); avatarImage.Mutate(x => x.BackgroundColor(new Rgba32( (byte)(_backgroundColor.Red * 255), @@ -265,7 +265,7 @@ namespace Ryujinx.UI.Windows byte byte1 = input[inputOffset++]; byte byte2 = input[inputOffset++]; - int dist = ((byte1 & 0xF) << 8) | byte2; + int dist = (byte1 & 0xF) << 8 | byte2; int position = (int)outputOffset - (dist + 1); int length = byte1 >> 4; diff --git a/src/Ryujinx.Gtk3/UI/Windows/UserProfilesManagerWindow.cs b/src/Ryujinx.Gtk3/UI/Windows/UserProfilesManagerWindow.cs index d1e5fa9fc1..6f7b18c3d5 100644 --- a/src/Ryujinx.Gtk3/UI/Windows/UserProfilesManagerWindow.cs +++ b/src/Ryujinx.Gtk3/UI/Windows/UserProfilesManagerWindow.cs @@ -1,5 +1,6 @@ using Gtk; using Ryujinx.Common.Memory; +using Ryujinx.Gtk3.UI.Windows; using Ryujinx.HLE.FileSystem; using Ryujinx.HLE.HOS.Services.Account.Acc; using Ryujinx.UI.Common.Configuration; diff --git a/src/Ryujinx.Tests.Memory/MultiRegionTrackingTests.cs b/src/Ryujinx.Tests.Memory/MultiRegionTrackingTests.cs index c71a3e1f03..b9b52a4fca 100644 --- a/src/Ryujinx.Tests.Memory/MultiRegionTrackingTests.cs +++ b/src/Ryujinx.Tests.Memory/MultiRegionTrackingTests.cs @@ -56,8 +56,8 @@ namespace Ryujinx.Tests.Memory handle.QueryModified(startAddress, size, (address, range) => { - Assert.IsTrue(addressPredicate(address)); // Written pages must be even. - Assert.GreaterOrEqual(address, lastAddress); // Must be signalled in ascending order, regardless of write order. + Assert.That(addressPredicate(address), Is.True); // Written pages must be even. + Assert.That(address, Is.GreaterThanOrEqualTo(lastAddress)); // Must be signalled in ascending order, regardless of write order. lastAddress = address; regionCount++; }); @@ -72,8 +72,8 @@ namespace Ryujinx.Tests.Memory handle.QueryModified(startAddress, size, (address, range) => { - Assert.IsTrue(addressPredicate(address)); // Written pages must be even. - Assert.GreaterOrEqual(address, lastAddress); // Must be signalled in ascending order, regardless of write order. + Assert.That(addressPredicate(address), Is.True); // Written pages must be even. + Assert.That(address, Is.GreaterThanOrEqualTo(lastAddress)); // Must be signalled in ascending order, regardless of write order. lastAddress = address; regionCount++; }, sequenceNumber); @@ -93,7 +93,7 @@ namespace Ryujinx.Tests.Memory { resultAddress = address; }); - Assert.AreEqual(resultAddress, (ulong)i * PageSize + address); + Assert.That(resultAddress, Is.EqualTo((ulong)i * PageSize + address)); }); } @@ -119,7 +119,7 @@ namespace Ryujinx.Tests.Memory int oddRegionCount = ExpectQueryInOrder(handle, 0, PageSize * PageCount, (address) => (address / PageSize) % 2 == 1); - Assert.AreEqual(oddRegionCount, PageCount / 2); // Must have written to all odd pages. + Assert.That(oddRegionCount, Is.EqualTo(PageCount / 2)); // Must have written to all odd pages. // Write to all the even pages. RandomOrder(random, even, (i) => @@ -129,7 +129,7 @@ namespace Ryujinx.Tests.Memory int evenRegionCount = ExpectQueryInOrder(handle, 0, PageSize * PageCount, (address) => (address / PageSize) % 2 == 0); - Assert.AreEqual(evenRegionCount, PageCount / 2); + Assert.That(evenRegionCount, Is.EqualTo(PageCount / 2)); } [Test] @@ -172,7 +172,7 @@ namespace Ryujinx.Tests.Memory }, 1); } - Assert.AreEqual(oddRegionCount, PageCount / 2); // Must have written to all odd pages. + Assert.That(oddRegionCount, Is.EqualTo(PageCount / 2)); // Must have written to all odd pages. // Write to all pages. @@ -182,19 +182,19 @@ namespace Ryujinx.Tests.Memory int evenRegionCount = ExpectQueryInOrder(handle, 0, PageSize * PageCount, (address) => (address / PageSize) % 2 == 0, 1); - Assert.AreEqual(evenRegionCount, PageCount / 2); // Must have written to all even pages. + Assert.That(evenRegionCount, Is.EqualTo(PageCount / 2)); // Must have written to all even pages. oddRegionCount = 0; handle.QueryModified(0, PageSize * PageCount, (address, range) => { oddRegionCount++; }, 1); - Assert.AreEqual(oddRegionCount, 0); // Sequence number has not changed, so found no dirty subregions. + Assert.That(oddRegionCount, Is.EqualTo(0)); // Sequence number has not changed, so found no dirty subregions. // With sequence number 2, all all pages should be reported as modified. oddRegionCount = ExpectQueryInOrder(handle, 0, PageSize * PageCount, (address) => (address / PageSize) % 2 == 1, 2); - Assert.AreEqual(oddRegionCount, PageCount / 2); // Must have written to all odd pages. + Assert.That(oddRegionCount, Is.EqualTo(PageCount / 2)); // Must have written to all odd pages. } [Test] @@ -242,8 +242,8 @@ namespace Ryujinx.Tests.Memory { int region = regionSizes[regionInd++]; - Assert.AreEqual(address, expectedAddress); - Assert.AreEqual(size, (ulong)(PageSize * region)); + Assert.That(address, Is.EqualTo(expectedAddress)); + Assert.That(size, Is.EqualTo((ulong)(PageSize * region))); expectedAddress += (ulong)(PageSize * (region + 1)); }); @@ -256,12 +256,12 @@ namespace Ryujinx.Tests.Memory const int PageCount = 32; const int OverlapStart = 16; - Assert.AreEqual(0, _tracking.GetRegionCount()); + Assert.That(0, Is.EqualTo(_tracking.GetRegionCount())); IMultiRegionHandle handleLow = GetGranular(smart, 0, PageSize * PageCount, PageSize); PreparePages(handleLow, PageCount); - Assert.AreEqual(PageCount, _tracking.GetRegionCount()); + Assert.That(PageCount, Is.EqualTo(_tracking.GetRegionCount())); IMultiRegionHandle handleHigh = GetGranular(smart, PageSize * OverlapStart, PageSize * PageCount, PageSize); PreparePages(handleHigh, PageCount, PageSize * OverlapStart); @@ -269,15 +269,15 @@ namespace Ryujinx.Tests.Memory // Combined pages (and assuming overlapStart <= pageCount) should be pageCount after overlapStart. int totalPages = OverlapStart + PageCount; - Assert.AreEqual(totalPages, _tracking.GetRegionCount()); + Assert.That(totalPages, Is.EqualTo(_tracking.GetRegionCount())); handleLow.Dispose(); // After disposing one, the pages for the other remain. - Assert.AreEqual(PageCount, _tracking.GetRegionCount()); + Assert.That(PageCount, Is.EqualTo(_tracking.GetRegionCount())); handleHigh.Dispose(); // After disposing the other, there are no pages left. - Assert.AreEqual(0, _tracking.GetRegionCount()); + Assert.That(0, Is.EqualTo(_tracking.GetRegionCount())); } [Test] @@ -357,19 +357,19 @@ namespace Ryujinx.Tests.Memory bool modified = false; combined.QueryModified(PageSize * (ulong)i, PageSize, (_, _) => { modified = true; }); - Assert.AreEqual(expectedDirty[i], modified); + Assert.That(expectedDirty[i], Is.EqualTo(modified)); } - Assert.AreEqual(new bool[3], actionsTriggered); + Assert.That(new bool[3], Is.EqualTo(actionsTriggered)); _tracking.VirtualMemoryEvent(PageSize * 5, PageSize, false); - Assert.IsTrue(actionsTriggered[0]); + Assert.That(actionsTriggered[0], Is.True); _tracking.VirtualMemoryEvent(PageSize * 10, PageSize, false); - Assert.IsTrue(actionsTriggered[1]); + Assert.That(actionsTriggered[1], Is.True); _tracking.VirtualMemoryEvent(PageSize * 15, PageSize, false); - Assert.IsTrue(actionsTriggered[2]); + Assert.That(actionsTriggered[2], Is.True); // The double page handles should be disposed, as they were split into granular handles. foreach (RegionHandle doublePage in doublePages) @@ -386,18 +386,18 @@ namespace Ryujinx.Tests.Memory throws = true; } - Assert.IsTrue(throws); + Assert.That(throws, Is.True); } IEnumerable combinedHandles = combined.GetHandles(); - Assert.AreEqual(handleGroups[0].ElementAt(0), combinedHandles.ElementAt(3)); - Assert.AreEqual(handleGroups[0].ElementAt(1), combinedHandles.ElementAt(4)); - Assert.AreEqual(handleGroups[0].ElementAt(2), combinedHandles.ElementAt(5)); + Assert.That(handleGroups[0].ElementAt(0), Is.EqualTo(combinedHandles.ElementAt(3))); + Assert.That(handleGroups[0].ElementAt(1), Is.EqualTo(combinedHandles.ElementAt(4))); + Assert.That(handleGroups[0].ElementAt(2), Is.EqualTo(combinedHandles.ElementAt(5))); - Assert.AreEqual(singlePages[0], combinedHandles.ElementAt(8)); - Assert.AreEqual(singlePages[1], combinedHandles.ElementAt(9)); - Assert.AreEqual(singlePages[2], combinedHandles.ElementAt(10)); + Assert.That(singlePages[0], Is.EqualTo(combinedHandles.ElementAt(8))); + Assert.That(singlePages[1], Is.EqualTo(combinedHandles.ElementAt(9))); + Assert.That(singlePages[2], Is.EqualTo(combinedHandles.ElementAt(10))); } [Test] @@ -413,11 +413,11 @@ namespace Ryujinx.Tests.Memory // Precise write to first handle in the multiregion. _tracking.VirtualMemoryEvent(PageSize * 3, PageSize, true, precise: true); - Assert.IsFalse(actionTriggered); // Action not triggered. + Assert.That(actionTriggered, Is.False); // Action not triggered. bool firstPageModified = false; granular.QueryModified(PageSize * 3, PageSize, (_, _) => { firstPageModified = true; }); - Assert.IsTrue(firstPageModified); // First page is modified. + Assert.That(firstPageModified, Is.True); // First page is modified. // Precise write to all handles in the multiregion. _tracking.VirtualMemoryEvent(PageSize * 3, PageSize * 3, true, precise: true); @@ -430,10 +430,10 @@ namespace Ryujinx.Tests.Memory granular.QueryModified(PageSize * (ulong)i, PageSize, (_, _) => { pagesModified[index] = true; }); } - Assert.IsTrue(actionTriggered); // Action triggered. + Assert.That(actionTriggered, Is.True); // Action triggered. // Precise writes are ignored on two later handles due to the action returning true. - Assert.AreEqual(pagesModified, new bool[] { true, false, false }); + Assert.That(pagesModified, Is.EqualTo(new bool[] { true, false, false })); } } } diff --git a/src/Ryujinx.Tests.Memory/Tests.cs b/src/Ryujinx.Tests.Memory/Tests.cs index bfc6344b7a..72fe15b9d0 100644 --- a/src/Ryujinx.Tests.Memory/Tests.cs +++ b/src/Ryujinx.Tests.Memory/Tests.cs @@ -28,7 +28,7 @@ namespace Ryujinx.Tests.Memory { Marshal.WriteInt32(_memoryBlock.Pointer, 0x2020, 0x1234abcd); - Assert.AreEqual(_memoryBlock.Read(0x2020), 0x1234abcd); + Assert.That(_memoryBlock.Read(0x2020), Is.EqualTo(0x1234abcd)); } [Test] @@ -36,7 +36,7 @@ namespace Ryujinx.Tests.Memory { _memoryBlock.Write(0x2040, 0xbadc0de); - Assert.AreEqual(Marshal.ReadInt32(_memoryBlock.Pointer, 0x2040), 0xbadc0de); + Assert.That(Marshal.ReadInt32(_memoryBlock.Pointer, 0x2040), Is.EqualTo(0xbadc0de)); } [Test] @@ -54,7 +54,7 @@ namespace Ryujinx.Tests.Memory toAlias.UnmapView(backing, pageSize * 3, pageSize); toAlias.Write(0, 0xbadc0de); - Assert.AreEqual(Marshal.ReadInt32(backing.Pointer, (int)pageSize), 0xbadc0de); + Assert.That(Marshal.ReadInt32(backing.Pointer, (int)pageSize), Is.EqualTo(0xbadc0de)); } [Test] @@ -84,7 +84,7 @@ namespace Ryujinx.Tests.Memory int offset = rng.Next(0, (int)pageSize - sizeof(int)); toAlias.Write((ulong)((dstPage << pageBits) + offset), 0xbadc0de); - Assert.AreEqual(Marshal.ReadInt32(backing.Pointer, (srcPage << pageBits) + offset), 0xbadc0de); + Assert.That(Marshal.ReadInt32(backing.Pointer, (srcPage << pageBits) + offset), Is.EqualTo(0xbadc0de)); } else { @@ -109,7 +109,7 @@ namespace Ryujinx.Tests.Memory toAlias.MapView(backing, 0, offset, pageSize); toAlias.Write(offset, 0xbadc0de); - Assert.AreEqual(0xbadc0de, backing.Read(0)); + Assert.That(0xbadc0de, Is.EqualTo(backing.Read(0))); toAlias.UnmapView(backing, offset, pageSize); } diff --git a/src/Ryujinx.Tests.Memory/TrackingTests.cs b/src/Ryujinx.Tests.Memory/TrackingTests.cs index c74446cfb3..09f308b2f6 100644 --- a/src/Ryujinx.Tests.Memory/TrackingTests.cs +++ b/src/Ryujinx.Tests.Memory/TrackingTests.cs @@ -53,46 +53,46 @@ namespace Ryujinx.Tests.Memory }); bool dirtyInitial = handle.Dirty; - Assert.True(dirtyInitial); // Handle starts dirty. + Assert.That(dirtyInitial, Is.True); // Handle starts dirty. handle.Reprotect(); bool dirtyAfterReprotect = handle.Dirty; - Assert.False(dirtyAfterReprotect); // Handle is no longer dirty. + Assert.That(dirtyAfterReprotect, Is.False); // Handle is no longer dirty. _tracking.VirtualMemoryEvent(PageSize * 2, 4, true); _tracking.VirtualMemoryEvent(PageSize * 2, 4, false); bool dirtyAfterUnrelatedReadWrite = handle.Dirty; - Assert.False(dirtyAfterUnrelatedReadWrite); // Not dirtied, as the write was to an unrelated address. + Assert.That(dirtyAfterUnrelatedReadWrite, Is.False); // Not dirtied, as the write was to an unrelated address. - Assert.IsNull(readTrackingTriggered); // Hasn't been triggered yet + Assert.That(readTrackingTriggered, Is.Null); // Hasn't been triggered yet _tracking.VirtualMemoryEvent(0, 4, false); bool dirtyAfterRelatedRead = handle.Dirty; - Assert.False(dirtyAfterRelatedRead); // Only triggers on write. - Assert.AreEqual(readTrackingTriggered, (0UL, 4UL)); // Read action was triggered. + Assert.That(dirtyAfterRelatedRead, Is.False); // Only triggers on write. + Assert.That(readTrackingTriggered, Is.EqualTo((0UL, 4UL))); // Read action was triggered. readTrackingTriggered = null; _tracking.VirtualMemoryEvent(0, 4, true); bool dirtyAfterRelatedWrite = handle.Dirty; - Assert.True(dirtyAfterRelatedWrite); // Dirty flag should now be set. + Assert.That(dirtyAfterRelatedWrite, Is.True); // Dirty flag should now be set. _tracking.VirtualMemoryEvent(4, 4, true); bool dirtyAfterRelatedWrite2 = handle.Dirty; - Assert.True(dirtyAfterRelatedWrite2); // Dirty flag should still be set. + Assert.That(dirtyAfterRelatedWrite2, Is.True); // Dirty flag should still be set. handle.Reprotect(); bool dirtyAfterReprotect2 = handle.Dirty; - Assert.False(dirtyAfterReprotect2); // Handle is no longer dirty. + Assert.That(dirtyAfterReprotect2, Is.False); // Handle is no longer dirty. handle.Dispose(); bool dirtyAfterDispose = TestSingleWrite(handle, 0, 4); - Assert.False(dirtyAfterDispose); // Handle cannot be triggered when disposed + Assert.That(dirtyAfterDispose, Is.False); // Handle cannot be triggered when disposed } [Test] @@ -126,27 +126,27 @@ namespace Ryujinx.Tests.Memory for (int i = 0; i < 16; i++) { // No handles are dirty. - Assert.False(allHandle.Dirty); - Assert.IsNull(readTrackingTriggeredAll); + Assert.That(allHandle.Dirty, Is.False); + Assert.That(readTrackingTriggeredAll, Is.Null); for (int j = 0; j < 16; j++) { - Assert.False(containedHandles[j].Dirty); + Assert.That(containedHandles[j].Dirty, Is.False); } _tracking.VirtualMemoryEvent((ulong)i * PageSize, 1, true); // Only the handle covering the entire range and the relevant contained handle are dirty. - Assert.True(allHandle.Dirty); - Assert.AreEqual(readTrackingTriggeredAll, ((ulong)i * PageSize, 1UL)); // Triggered read tracking + Assert.That(allHandle.Dirty, Is.True); + Assert.That(readTrackingTriggeredAll, Is.EqualTo(((ulong)i * PageSize, 1UL))); // Triggered read tracking for (int j = 0; j < 16; j++) { if (j == i) { - Assert.True(containedHandles[j].Dirty); + Assert.That(containedHandles[j].Dirty, Is.True); } else { - Assert.False(containedHandles[j].Dirty); + Assert.That(containedHandles[j].Dirty, Is.False); } } @@ -171,27 +171,27 @@ namespace Ryujinx.Tests.Memory // Anywhere inside the pages the region is contained on should trigger. bool originalRangeTriggers = TestSingleWrite(handle, address, size); - Assert.True(originalRangeTriggers); + Assert.That(originalRangeTriggers, Is.True); bool alignedRangeTriggers = TestSingleWrite(handle, alignedStart, alignedSize); - Assert.True(alignedRangeTriggers); + Assert.That(alignedRangeTriggers, Is.True); bool alignedStartTriggers = TestSingleWrite(handle, alignedStart, 1); - Assert.True(alignedStartTriggers); + Assert.That(alignedStartTriggers, Is.True); bool alignedEndTriggers = TestSingleWrite(handle, alignedEnd - 1, 1); - Assert.True(alignedEndTriggers); + Assert.That(alignedEndTriggers, Is.True); // Outside the tracked range should not trigger. bool alignedBeforeTriggers = TestSingleWrite(handle, alignedStart - 1, 1); - Assert.False(alignedBeforeTriggers); + Assert.That(alignedBeforeTriggers, Is.False); bool alignedAfterTriggers = TestSingleWrite(handle, alignedEnd, 1); - Assert.False(alignedAfterTriggers); + Assert.That(alignedAfterTriggers, Is.False); } - [Test, Explicit, Timeout(1000)] + [Test, Explicit, CancelAfter(1000)] public void Multithreading() { // Multithreading sanity test @@ -287,9 +287,9 @@ namespace Ryujinx.Tests.Memory thread.Join(); } - Assert.Greater(dirtyFlagReprotects, 10); - Assert.Greater(writeTriggers, 10); - Assert.Greater(handleLifecycles, 10); + Assert.That(dirtyFlagReprotects, Is.GreaterThan(10)); + Assert.That(writeTriggers, Is.GreaterThan(10)); + Assert.That(handleLifecycles, Is.GreaterThan(10)); } [Test] @@ -354,7 +354,7 @@ namespace Ryujinx.Tests.Memory // The action should trigger exactly once for every registration, // then we register once after all the threads signalling it cease. - Assert.AreEqual(registeredCount, triggeredCount + 1); + Assert.That(registeredCount, Is.EqualTo(triggeredCount + 1)); } [Test] @@ -365,11 +365,11 @@ namespace Ryujinx.Tests.Memory RegionHandle handle = _tracking.BeginTracking(0, PageSize, 0); handle.Reprotect(); - Assert.AreEqual(1, _tracking.GetRegionCount()); + Assert.That(1, Is.EqualTo(_tracking.GetRegionCount())); handle.Dispose(); - Assert.AreEqual(0, _tracking.GetRegionCount()); + Assert.That(0, Is.EqualTo(_tracking.GetRegionCount())); // Two handles, small entirely contains big. // We expect there to be three regions after creating both, one for the small region and two covering the big one around it. @@ -378,16 +378,16 @@ namespace Ryujinx.Tests.Memory RegionHandle handleSmall = _tracking.BeginTracking(PageSize, PageSize, 0); RegionHandle handleBig = _tracking.BeginTracking(0, PageSize * 4, 0); - Assert.AreEqual(3, _tracking.GetRegionCount()); + Assert.That(3, Is.EqualTo(_tracking.GetRegionCount())); // After disposing the big region, only the small one will remain. handleBig.Dispose(); - Assert.AreEqual(1, _tracking.GetRegionCount()); + Assert.That(1, Is.EqualTo(_tracking.GetRegionCount())); handleSmall.Dispose(); - Assert.AreEqual(0, _tracking.GetRegionCount()); + Assert.That(0, Is.EqualTo(_tracking.GetRegionCount())); } [Test] @@ -397,22 +397,22 @@ namespace Ryujinx.Tests.Memory _memoryManager.OnProtect += (va, size, newProtection) => { - Assert.AreEqual((0, PageSize), (va, size)); // Should protect the exact region all the operations use. + Assert.That((0, PageSize), Is.EqualTo((va, size))); // Should protect the exact region all the operations use. protection = newProtection; }; RegionHandle handle = _tracking.BeginTracking(0, PageSize, 0); // After creating the handle, there is no protection yet. - Assert.AreEqual(MemoryPermission.ReadAndWrite, protection); + Assert.That(MemoryPermission.ReadAndWrite, Is.EqualTo(protection)); bool dirtyInitial = handle.Dirty; - Assert.True(dirtyInitial); // Handle starts dirty. + Assert.That(dirtyInitial, Is.True); // Handle starts dirty. handle.Reprotect(); // After a reprotect, there is write protection, which will set a dirty flag when any write happens. - Assert.AreEqual(MemoryPermission.Read, protection); + Assert.That(MemoryPermission.Read, Is.EqualTo(protection)); (ulong address, ulong size)? readTrackingTriggered = null; handle.RegisterAction((address, size) => @@ -421,21 +421,21 @@ namespace Ryujinx.Tests.Memory }); // Registering an action adds read/write protection. - Assert.AreEqual(MemoryPermission.None, protection); + Assert.That(MemoryPermission.None, Is.EqualTo(protection)); bool dirtyAfterReprotect = handle.Dirty; - Assert.False(dirtyAfterReprotect); // Handle is no longer dirty. + Assert.That(dirtyAfterReprotect, Is.False); // Handle is no longer dirty. // First we should read, which will trigger the action. This _should not_ remove write protection on the memory. _tracking.VirtualMemoryEvent(0, 4, false); bool dirtyAfterRead = handle.Dirty; - Assert.False(dirtyAfterRead); // Not dirtied, as this was a read. + Assert.That(dirtyAfterRead, Is.False); // Not dirtied, as this was a read. - Assert.AreEqual(readTrackingTriggered, (0UL, 4UL)); // Read action was triggered. + Assert.That(readTrackingTriggered, Is.EqualTo((0UL, 4UL))); // Read action was triggered. - Assert.AreEqual(MemoryPermission.Read, protection); // Write protection is still present. + Assert.That(MemoryPermission.Read, Is.EqualTo(protection)); // Write protection is still present. readTrackingTriggered = null; @@ -444,11 +444,11 @@ namespace Ryujinx.Tests.Memory _tracking.VirtualMemoryEvent(0, 4, true); bool dirtyAfterWriteAfterRead = handle.Dirty; - Assert.True(dirtyAfterWriteAfterRead); // Should be dirty. + Assert.That(dirtyAfterWriteAfterRead, Is.True); // Should be dirty. - Assert.AreEqual(MemoryPermission.ReadAndWrite, protection); // All protection is now be removed from the memory. + Assert.That(MemoryPermission.ReadAndWrite, Is.EqualTo(protection)); // All protection is now be removed from the memory. - Assert.IsNull(readTrackingTriggered); // Read tracking was removed when the action fired, as it can only fire once. + Assert.That(readTrackingTriggered, Is.Null); // Read tracking was removed when the action fired, as it can only fire once. handle.Dispose(); } @@ -476,22 +476,22 @@ namespace Ryujinx.Tests.Memory _tracking.VirtualMemoryEvent(0, 4, false, precise: true); - Assert.IsNull(readTrackingTriggered); // Hasn't been triggered - precise action returned true. - Assert.AreEqual(preciseTriggered, (0UL, 4UL, false)); // Precise action was triggered. + Assert.That(readTrackingTriggered, Is.Null); // Hasn't been triggered - precise action returned true. + Assert.That(preciseTriggered, Is.EqualTo((0UL, 4UL, false))); // Precise action was triggered. _tracking.VirtualMemoryEvent(0, 4, true, precise: true); - Assert.IsNull(readTrackingTriggered); // Still hasn't been triggered. + Assert.That(readTrackingTriggered, Is.Null); // Still hasn't been triggered. bool dirtyAfterPreciseActionTrue = handle.Dirty; - Assert.False(dirtyAfterPreciseActionTrue); // Not dirtied - precise action returned true. - Assert.AreEqual(preciseTriggered, (0UL, 4UL, true)); // Precise action was triggered. + Assert.That(dirtyAfterPreciseActionTrue, Is.False); // Not dirtied - precise action returned true. + Assert.That(preciseTriggered, Is.EqualTo((0UL, 4UL, true))); // Precise action was triggered. // Handle is now dirty. handle.Reprotect(true); preciseTriggered = null; _tracking.VirtualMemoryEvent(4, 4, true, precise: true); - Assert.AreEqual(preciseTriggered, (4UL, 4UL, true)); // Precise action was triggered even though handle was dirty. + Assert.That(preciseTriggered, Is.EqualTo((4UL, 4UL, true))); // Precise action was triggered even though handle was dirty. handle.Reprotect(); handle.RegisterPreciseAction((address, size, write) => @@ -503,10 +503,10 @@ namespace Ryujinx.Tests.Memory _tracking.VirtualMemoryEvent(8, 4, true, precise: true); - Assert.AreEqual(readTrackingTriggered, (8UL, 4UL)); // Read action triggered, as precise action returned false. + Assert.That(readTrackingTriggered, Is.EqualTo((8UL, 4UL))); // Read action triggered, as precise action returned false. bool dirtyAfterPreciseActionFalse = handle.Dirty; - Assert.True(dirtyAfterPreciseActionFalse); // Dirtied, as precise action returned false. - Assert.AreEqual(preciseTriggered, (8UL, 4UL, true)); // Precise action was triggered. + Assert.That(dirtyAfterPreciseActionFalse, Is.True); // Dirtied, as precise action returned false. + Assert.That(preciseTriggered, Is.EqualTo((8UL, 4UL, true))); // Precise action was triggered. } } } diff --git a/src/Ryujinx.Tests/Audio/Renderer/AudioRendererConfigurationTests.cs b/src/Ryujinx.Tests/Audio/Renderer/AudioRendererConfigurationTests.cs index 845b6493c2..b544022469 100644 --- a/src/Ryujinx.Tests/Audio/Renderer/AudioRendererConfigurationTests.cs +++ b/src/Ryujinx.Tests/Audio/Renderer/AudioRendererConfigurationTests.cs @@ -9,7 +9,7 @@ namespace Ryujinx.Tests.Audio.Renderer [Test] public void EnsureTypeSize() { - Assert.AreEqual(0x34, Unsafe.SizeOf()); + Assert.That(0x34, Is.EqualTo(Unsafe.SizeOf())); } } } diff --git a/src/Ryujinx.Tests/Audio/Renderer/BehaviourParameterTests.cs b/src/Ryujinx.Tests/Audio/Renderer/BehaviourParameterTests.cs index 1d8c8964f8..cf61f9efd6 100644 --- a/src/Ryujinx.Tests/Audio/Renderer/BehaviourParameterTests.cs +++ b/src/Ryujinx.Tests/Audio/Renderer/BehaviourParameterTests.cs @@ -9,8 +9,8 @@ namespace Ryujinx.Tests.Audio.Renderer [Test] public void EnsureTypeSize() { - Assert.AreEqual(0x10, Unsafe.SizeOf()); - Assert.AreEqual(0x10, Unsafe.SizeOf()); + Assert.That(0x10, Is.EqualTo(Unsafe.SizeOf())); + Assert.That(0x10, Is.EqualTo(Unsafe.SizeOf())); } } } diff --git a/src/Ryujinx.Tests/Audio/Renderer/BiquadFilterParameterTests.cs b/src/Ryujinx.Tests/Audio/Renderer/BiquadFilterParameterTests.cs index 617b524575..60a363df69 100644 --- a/src/Ryujinx.Tests/Audio/Renderer/BiquadFilterParameterTests.cs +++ b/src/Ryujinx.Tests/Audio/Renderer/BiquadFilterParameterTests.cs @@ -9,7 +9,7 @@ namespace Ryujinx.Tests.Audio.Renderer [Test] public void EnsureTypeSize() { - Assert.AreEqual(0xC, Unsafe.SizeOf()); + Assert.That(0xC, Is.EqualTo(Unsafe.SizeOf())); } } } diff --git a/src/Ryujinx.Tests/Audio/Renderer/Common/UpdateDataHeaderTests.cs b/src/Ryujinx.Tests/Audio/Renderer/Common/UpdateDataHeaderTests.cs index 256679f733..0a3f348cbf 100644 --- a/src/Ryujinx.Tests/Audio/Renderer/Common/UpdateDataHeaderTests.cs +++ b/src/Ryujinx.Tests/Audio/Renderer/Common/UpdateDataHeaderTests.cs @@ -9,7 +9,7 @@ namespace Ryujinx.Tests.Audio.Renderer.Common [Test] public void EnsureTypeSize() { - Assert.AreEqual(0x40, Unsafe.SizeOf()); + Assert.That(0x40, Is.EqualTo(Unsafe.SizeOf())); } } } diff --git a/src/Ryujinx.Tests/Audio/Renderer/Common/VoiceUpdateStateTests.cs b/src/Ryujinx.Tests/Audio/Renderer/Common/VoiceUpdateStateTests.cs index 7b09d18cc5..8b4f49f24d 100644 --- a/src/Ryujinx.Tests/Audio/Renderer/Common/VoiceUpdateStateTests.cs +++ b/src/Ryujinx.Tests/Audio/Renderer/Common/VoiceUpdateStateTests.cs @@ -9,7 +9,7 @@ namespace Ryujinx.Tests.Audio.Renderer.Common [Test] public void EnsureTypeSize() { - Assert.LessOrEqual(Unsafe.SizeOf(), 0x100); + Assert.That(Unsafe.SizeOf(), Is.LessThanOrEqualTo(0x100)); } } } diff --git a/src/Ryujinx.Tests/Audio/Renderer/Common/WaveBufferTests.cs b/src/Ryujinx.Tests/Audio/Renderer/Common/WaveBufferTests.cs index 91f9c05612..2fe1997c63 100644 --- a/src/Ryujinx.Tests/Audio/Renderer/Common/WaveBufferTests.cs +++ b/src/Ryujinx.Tests/Audio/Renderer/Common/WaveBufferTests.cs @@ -9,7 +9,7 @@ namespace Ryujinx.Tests.Audio.Renderer.Common [Test] public void EnsureTypeSize() { - Assert.AreEqual(0x30, Unsafe.SizeOf()); + Assert.That(0x30, Is.EqualTo(Unsafe.SizeOf())); } } } diff --git a/src/Ryujinx.Tests/Audio/Renderer/Dsp/ResamplerTests.cs b/src/Ryujinx.Tests/Audio/Renderer/Dsp/ResamplerTests.cs index f393c971a9..2038a13b7f 100644 --- a/src/Ryujinx.Tests/Audio/Renderer/Dsp/ResamplerTests.cs +++ b/src/Ryujinx.Tests/Audio/Renderer/Dsp/ResamplerTests.cs @@ -74,13 +74,13 @@ namespace Ryujinx.Tests.Audio.Renderer.Dsp float thisDelta = Math.Abs(expectedOutput[sample] - outputBuffer[sample]); // Ensure no discontinuities - Assert.IsTrue(thisDelta < 0.1f); + Assert.That(thisDelta < 0.1f, Is.True); sumDifference += thisDelta; } sumDifference /= outputSampleCount; // Expect the output to be 99% similar to the expected resampled sine wave - Assert.IsTrue(sumDifference < 0.01f); + Assert.That(sumDifference < 0.01f, Is.True); } } } diff --git a/src/Ryujinx.Tests/Audio/Renderer/Dsp/UpsamplerTests.cs b/src/Ryujinx.Tests/Audio/Renderer/Dsp/UpsamplerTests.cs index 3b1b944419..5619e33872 100644 --- a/src/Ryujinx.Tests/Audio/Renderer/Dsp/UpsamplerTests.cs +++ b/src/Ryujinx.Tests/Audio/Renderer/Dsp/UpsamplerTests.cs @@ -51,7 +51,7 @@ namespace Ryujinx.Tests.Audio.Renderer.Dsp sumDifference /= expectedOutput.Length; // Expect the output to be 98% similar to the expected resampled sine wave - Assert.IsTrue(sumDifference < 0.02f); + Assert.That(sumDifference < 0.02f, Is.True); } } } diff --git a/src/Ryujinx.Tests/Audio/Renderer/EffectInfoParameterTests.cs b/src/Ryujinx.Tests/Audio/Renderer/EffectInfoParameterTests.cs index ee28423be5..1198a80338 100644 --- a/src/Ryujinx.Tests/Audio/Renderer/EffectInfoParameterTests.cs +++ b/src/Ryujinx.Tests/Audio/Renderer/EffectInfoParameterTests.cs @@ -9,8 +9,8 @@ namespace Ryujinx.Tests.Audio.Renderer [Test] public void EnsureTypeSize() { - Assert.AreEqual(0xC0, Unsafe.SizeOf()); - Assert.AreEqual(0xC0, Unsafe.SizeOf()); + Assert.That(0xC0, Is.EqualTo(Unsafe.SizeOf())); + Assert.That(0xC0, Is.EqualTo(Unsafe.SizeOf())); } } } diff --git a/src/Ryujinx.Tests/Audio/Renderer/EffectOutStatusTests.cs b/src/Ryujinx.Tests/Audio/Renderer/EffectOutStatusTests.cs index 2a44494376..5abe2cf592 100644 --- a/src/Ryujinx.Tests/Audio/Renderer/EffectOutStatusTests.cs +++ b/src/Ryujinx.Tests/Audio/Renderer/EffectOutStatusTests.cs @@ -9,8 +9,8 @@ namespace Ryujinx.Tests.Audio.Renderer [Test] public void EnsureTypeSize() { - Assert.AreEqual(0x10, Unsafe.SizeOf()); - Assert.AreEqual(0x90, Unsafe.SizeOf()); + Assert.That(0x10, Is.EqualTo(Unsafe.SizeOf())); + Assert.That(0x90, Is.EqualTo(Unsafe.SizeOf())); } } } diff --git a/src/Ryujinx.Tests/Audio/Renderer/MemoryPoolParameterTests.cs b/src/Ryujinx.Tests/Audio/Renderer/MemoryPoolParameterTests.cs index 733629a959..a244c2ec56 100644 --- a/src/Ryujinx.Tests/Audio/Renderer/MemoryPoolParameterTests.cs +++ b/src/Ryujinx.Tests/Audio/Renderer/MemoryPoolParameterTests.cs @@ -9,8 +9,8 @@ namespace Ryujinx.Tests.Audio.Renderer [Test] public void EnsureTypeSize() { - Assert.AreEqual(0x20, Unsafe.SizeOf()); - Assert.AreEqual(0x10, Unsafe.SizeOf()); + Assert.That(0x20, Is.EqualTo(Unsafe.SizeOf())); + Assert.That(0x10, Is.EqualTo(Unsafe.SizeOf())); } } } diff --git a/src/Ryujinx.Tests/Audio/Renderer/Parameter/BehaviourErrorInfoOutStatusTests.cs b/src/Ryujinx.Tests/Audio/Renderer/Parameter/BehaviourErrorInfoOutStatusTests.cs index a21729561a..eebd89657f 100644 --- a/src/Ryujinx.Tests/Audio/Renderer/Parameter/BehaviourErrorInfoOutStatusTests.cs +++ b/src/Ryujinx.Tests/Audio/Renderer/Parameter/BehaviourErrorInfoOutStatusTests.cs @@ -9,7 +9,7 @@ namespace Ryujinx.Tests.Audio.Renderer.Parameter [Test] public void EnsureTypeSize() { - Assert.AreEqual(0xB0, Unsafe.SizeOf()); + Assert.That(0xB0, Is.EqualTo(Unsafe.SizeOf())); } } } diff --git a/src/Ryujinx.Tests/Audio/Renderer/Parameter/Effect/AuxParameterTests.cs b/src/Ryujinx.Tests/Audio/Renderer/Parameter/Effect/AuxParameterTests.cs index 75b24c40a2..f57cf704f5 100644 --- a/src/Ryujinx.Tests/Audio/Renderer/Parameter/Effect/AuxParameterTests.cs +++ b/src/Ryujinx.Tests/Audio/Renderer/Parameter/Effect/AuxParameterTests.cs @@ -9,7 +9,7 @@ namespace Ryujinx.Tests.Audio.Renderer.Parameter.Effect [Test] public void EnsureTypeSize() { - Assert.AreEqual(0x6C, Unsafe.SizeOf()); + Assert.That(0x6C, Is.EqualTo(Unsafe.SizeOf())); } } } diff --git a/src/Ryujinx.Tests/Audio/Renderer/Parameter/Effect/BiquadFilterEffectParameterTests.cs b/src/Ryujinx.Tests/Audio/Renderer/Parameter/Effect/BiquadFilterEffectParameterTests.cs index 73c1ea9d3b..b9fb710c84 100644 --- a/src/Ryujinx.Tests/Audio/Renderer/Parameter/Effect/BiquadFilterEffectParameterTests.cs +++ b/src/Ryujinx.Tests/Audio/Renderer/Parameter/Effect/BiquadFilterEffectParameterTests.cs @@ -9,7 +9,7 @@ namespace Ryujinx.Tests.Audio.Renderer.Parameter.Effect [Test] public void EnsureTypeSize() { - Assert.AreEqual(0x18, Unsafe.SizeOf()); + Assert.That(0x18, Is.EqualTo(Unsafe.SizeOf())); } } } diff --git a/src/Ryujinx.Tests/Audio/Renderer/Parameter/Effect/BufferMixerParameterTests.cs b/src/Ryujinx.Tests/Audio/Renderer/Parameter/Effect/BufferMixerParameterTests.cs index 7a86e37367..b435084da1 100644 --- a/src/Ryujinx.Tests/Audio/Renderer/Parameter/Effect/BufferMixerParameterTests.cs +++ b/src/Ryujinx.Tests/Audio/Renderer/Parameter/Effect/BufferMixerParameterTests.cs @@ -9,7 +9,7 @@ namespace Ryujinx.Tests.Audio.Renderer.Parameter.Effect [Test] public void EnsureTypeSize() { - Assert.AreEqual(0x94, Unsafe.SizeOf()); + Assert.That(0x94, Is.EqualTo(Unsafe.SizeOf())); } } } diff --git a/src/Ryujinx.Tests/Audio/Renderer/Parameter/Effect/CompressorParameterTests.cs b/src/Ryujinx.Tests/Audio/Renderer/Parameter/Effect/CompressorParameterTests.cs index de7733ae4d..64f2ca0e89 100644 --- a/src/Ryujinx.Tests/Audio/Renderer/Parameter/Effect/CompressorParameterTests.cs +++ b/src/Ryujinx.Tests/Audio/Renderer/Parameter/Effect/CompressorParameterTests.cs @@ -9,7 +9,7 @@ namespace Ryujinx.Tests.Audio.Renderer.Parameter.Effect [Test] public void EnsureTypeSize() { - Assert.AreEqual(0x38, Unsafe.SizeOf()); + Assert.That(0x38, Is.EqualTo(Unsafe.SizeOf())); } } } diff --git a/src/Ryujinx.Tests/Audio/Renderer/Parameter/Effect/DelayParameterTests.cs b/src/Ryujinx.Tests/Audio/Renderer/Parameter/Effect/DelayParameterTests.cs index 3daaf9a16b..263feb1a3f 100644 --- a/src/Ryujinx.Tests/Audio/Renderer/Parameter/Effect/DelayParameterTests.cs +++ b/src/Ryujinx.Tests/Audio/Renderer/Parameter/Effect/DelayParameterTests.cs @@ -9,7 +9,7 @@ namespace Ryujinx.Tests.Audio.Renderer.Parameter.Effect [Test] public void EnsureTypeSize() { - Assert.AreEqual(0x35, Unsafe.SizeOf()); + Assert.That(0x35, Is.EqualTo(Unsafe.SizeOf())); } } } diff --git a/src/Ryujinx.Tests/Audio/Renderer/Parameter/Effect/LimiterParameterTests.cs b/src/Ryujinx.Tests/Audio/Renderer/Parameter/Effect/LimiterParameterTests.cs index b749995670..c4614a7b31 100644 --- a/src/Ryujinx.Tests/Audio/Renderer/Parameter/Effect/LimiterParameterTests.cs +++ b/src/Ryujinx.Tests/Audio/Renderer/Parameter/Effect/LimiterParameterTests.cs @@ -9,7 +9,7 @@ namespace Ryujinx.Tests.Audio.Renderer.Parameter.Effect [Test] public void EnsureTypeSize() { - Assert.AreEqual(0x44, Unsafe.SizeOf()); + Assert.That(0x44, Is.EqualTo(Unsafe.SizeOf())); } } } diff --git a/src/Ryujinx.Tests/Audio/Renderer/Parameter/Effect/LimiterStatisticsTests.cs b/src/Ryujinx.Tests/Audio/Renderer/Parameter/Effect/LimiterStatisticsTests.cs index 9b3bfb13f7..67371c8281 100644 --- a/src/Ryujinx.Tests/Audio/Renderer/Parameter/Effect/LimiterStatisticsTests.cs +++ b/src/Ryujinx.Tests/Audio/Renderer/Parameter/Effect/LimiterStatisticsTests.cs @@ -9,7 +9,7 @@ namespace Ryujinx.Tests.Audio.Renderer.Parameter.Effect [Test] public void EnsureTypeSize() { - Assert.AreEqual(0x30, Unsafe.SizeOf()); + Assert.That(0x30, Is.EqualTo(Unsafe.SizeOf())); } } } diff --git a/src/Ryujinx.Tests/Audio/Renderer/Parameter/Effect/Reverb3dParameterTests.cs b/src/Ryujinx.Tests/Audio/Renderer/Parameter/Effect/Reverb3dParameterTests.cs index a5d562fbef..1ca5562d3a 100644 --- a/src/Ryujinx.Tests/Audio/Renderer/Parameter/Effect/Reverb3dParameterTests.cs +++ b/src/Ryujinx.Tests/Audio/Renderer/Parameter/Effect/Reverb3dParameterTests.cs @@ -9,7 +9,7 @@ namespace Ryujinx.Tests.Audio.Renderer.Parameter.Effect [Test] public void EnsureTypeSize() { - Assert.AreEqual(0x49, Unsafe.SizeOf()); + Assert.That(0x49, Is.EqualTo(Unsafe.SizeOf())); } } } diff --git a/src/Ryujinx.Tests/Audio/Renderer/Parameter/Effect/ReverbParameterTests.cs b/src/Ryujinx.Tests/Audio/Renderer/Parameter/Effect/ReverbParameterTests.cs index 6cc103f82e..84d3190068 100644 --- a/src/Ryujinx.Tests/Audio/Renderer/Parameter/Effect/ReverbParameterTests.cs +++ b/src/Ryujinx.Tests/Audio/Renderer/Parameter/Effect/ReverbParameterTests.cs @@ -9,7 +9,7 @@ namespace Ryujinx.Tests.Audio.Renderer.Parameter.Effect [Test] public void EnsureTypeSize() { - Assert.AreEqual(0x41, Unsafe.SizeOf()); + Assert.That(0x41, Is.EqualTo(Unsafe.SizeOf())); } } } diff --git a/src/Ryujinx.Tests/Audio/Renderer/Parameter/MixInParameterDirtyOnlyUpdateTests.cs b/src/Ryujinx.Tests/Audio/Renderer/Parameter/MixInParameterDirtyOnlyUpdateTests.cs index 148e8a5dba..a96c11a5de 100644 --- a/src/Ryujinx.Tests/Audio/Renderer/Parameter/MixInParameterDirtyOnlyUpdateTests.cs +++ b/src/Ryujinx.Tests/Audio/Renderer/Parameter/MixInParameterDirtyOnlyUpdateTests.cs @@ -9,7 +9,7 @@ namespace Ryujinx.Tests.Audio.Renderer.Parameter [Test] public void EnsureTypeSize() { - Assert.AreEqual(0x20, Unsafe.SizeOf()); + Assert.That(0x20, Is.EqualTo(Unsafe.SizeOf())); } } } diff --git a/src/Ryujinx.Tests/Audio/Renderer/Parameter/MixParameterTests.cs b/src/Ryujinx.Tests/Audio/Renderer/Parameter/MixParameterTests.cs index d9c0e1c730..e1f7b4f852 100644 --- a/src/Ryujinx.Tests/Audio/Renderer/Parameter/MixParameterTests.cs +++ b/src/Ryujinx.Tests/Audio/Renderer/Parameter/MixParameterTests.cs @@ -9,7 +9,7 @@ namespace Ryujinx.Tests.Audio.Renderer.Parameter [Test] public void EnsureTypeSize() { - Assert.AreEqual(0x930, Unsafe.SizeOf()); + Assert.That(0x930, Is.EqualTo(Unsafe.SizeOf())); } } } diff --git a/src/Ryujinx.Tests/Audio/Renderer/Parameter/PerformanceInParameterTests.cs b/src/Ryujinx.Tests/Audio/Renderer/Parameter/PerformanceInParameterTests.cs index 685b9ed5fa..4e08700361 100644 --- a/src/Ryujinx.Tests/Audio/Renderer/Parameter/PerformanceInParameterTests.cs +++ b/src/Ryujinx.Tests/Audio/Renderer/Parameter/PerformanceInParameterTests.cs @@ -9,7 +9,7 @@ namespace Ryujinx.Tests.Audio.Renderer.Parameter [Test] public void EnsureTypeSize() { - Assert.AreEqual(0x10, Unsafe.SizeOf()); + Assert.That(0x10, Is.EqualTo(Unsafe.SizeOf())); } } } diff --git a/src/Ryujinx.Tests/Audio/Renderer/Parameter/PerformanceOutStatusTests.cs b/src/Ryujinx.Tests/Audio/Renderer/Parameter/PerformanceOutStatusTests.cs index eb39fe48d5..97b012b9e3 100644 --- a/src/Ryujinx.Tests/Audio/Renderer/Parameter/PerformanceOutStatusTests.cs +++ b/src/Ryujinx.Tests/Audio/Renderer/Parameter/PerformanceOutStatusTests.cs @@ -9,7 +9,7 @@ namespace Ryujinx.Tests.Audio.Renderer.Parameter [Test] public void EnsureTypeSize() { - Assert.AreEqual(0x10, Unsafe.SizeOf()); + Assert.That(0x10, Is.EqualTo(Unsafe.SizeOf())); } } } diff --git a/src/Ryujinx.Tests/Audio/Renderer/Parameter/RendererInfoOutStatusTests.cs b/src/Ryujinx.Tests/Audio/Renderer/Parameter/RendererInfoOutStatusTests.cs index 34f0496560..46d369f3f5 100644 --- a/src/Ryujinx.Tests/Audio/Renderer/Parameter/RendererInfoOutStatusTests.cs +++ b/src/Ryujinx.Tests/Audio/Renderer/Parameter/RendererInfoOutStatusTests.cs @@ -9,7 +9,7 @@ namespace Ryujinx.Tests.Audio.Renderer.Parameter [Test] public void EnsureTypeSize() { - Assert.AreEqual(0x10, Unsafe.SizeOf()); + Assert.That(0x10, Is.EqualTo(Unsafe.SizeOf())); } } } diff --git a/src/Ryujinx.Tests/Audio/Renderer/Parameter/Sink/CircularBufferParameterTests.cs b/src/Ryujinx.Tests/Audio/Renderer/Parameter/Sink/CircularBufferParameterTests.cs index f5113fd06f..f9edec7c4e 100644 --- a/src/Ryujinx.Tests/Audio/Renderer/Parameter/Sink/CircularBufferParameterTests.cs +++ b/src/Ryujinx.Tests/Audio/Renderer/Parameter/Sink/CircularBufferParameterTests.cs @@ -9,7 +9,7 @@ namespace Ryujinx.Tests.Audio.Renderer.Parameter.Sink [Test] public void EnsureTypeSize() { - Assert.AreEqual(0x24, Unsafe.SizeOf()); + Assert.That(0x24, Is.EqualTo(Unsafe.SizeOf())); } } } diff --git a/src/Ryujinx.Tests/Audio/Renderer/Parameter/Sink/DeviceParameterTests.cs b/src/Ryujinx.Tests/Audio/Renderer/Parameter/Sink/DeviceParameterTests.cs index e7677c8223..75e3c76d1f 100644 --- a/src/Ryujinx.Tests/Audio/Renderer/Parameter/Sink/DeviceParameterTests.cs +++ b/src/Ryujinx.Tests/Audio/Renderer/Parameter/Sink/DeviceParameterTests.cs @@ -9,7 +9,7 @@ namespace Ryujinx.Tests.Audio.Renderer.Parameter.Sink [Test] public void EnsureTypeSize() { - Assert.AreEqual(0x11C, Unsafe.SizeOf()); + Assert.That(0x11C, Is.EqualTo(Unsafe.SizeOf())); } } } diff --git a/src/Ryujinx.Tests/Audio/Renderer/Parameter/SinkInParameterTests.cs b/src/Ryujinx.Tests/Audio/Renderer/Parameter/SinkInParameterTests.cs index 84f9cd9a1b..bdae6b8e29 100644 --- a/src/Ryujinx.Tests/Audio/Renderer/Parameter/SinkInParameterTests.cs +++ b/src/Ryujinx.Tests/Audio/Renderer/Parameter/SinkInParameterTests.cs @@ -9,7 +9,7 @@ namespace Ryujinx.Tests.Audio.Renderer.Parameter [Test] public void EnsureTypeSize() { - Assert.AreEqual(0x140, Unsafe.SizeOf()); + Assert.That(0x140, Is.EqualTo(Unsafe.SizeOf())); } } } diff --git a/src/Ryujinx.Tests/Audio/Renderer/Parameter/SinkOutStatusTests.cs b/src/Ryujinx.Tests/Audio/Renderer/Parameter/SinkOutStatusTests.cs index 18c501d223..db68387d2a 100644 --- a/src/Ryujinx.Tests/Audio/Renderer/Parameter/SinkOutStatusTests.cs +++ b/src/Ryujinx.Tests/Audio/Renderer/Parameter/SinkOutStatusTests.cs @@ -9,7 +9,7 @@ namespace Ryujinx.Tests.Audio.Renderer.Parameter [Test] public void EnsureTypeSize() { - Assert.AreEqual(0x20, Unsafe.SizeOf()); + Assert.That(0x20, Is.EqualTo(Unsafe.SizeOf())); } } } diff --git a/src/Ryujinx.Tests/Audio/Renderer/Parameter/SplitterInParamHeaderTests.cs b/src/Ryujinx.Tests/Audio/Renderer/Parameter/SplitterInParamHeaderTests.cs index f7a2965f57..830726b2ca 100644 --- a/src/Ryujinx.Tests/Audio/Renderer/Parameter/SplitterInParamHeaderTests.cs +++ b/src/Ryujinx.Tests/Audio/Renderer/Parameter/SplitterInParamHeaderTests.cs @@ -9,7 +9,7 @@ namespace Ryujinx.Tests.Audio.Renderer.Parameter [Test] public void EnsureTypeSize() { - Assert.AreEqual(0x20, Unsafe.SizeOf()); + Assert.That(0x20, Is.EqualTo(Unsafe.SizeOf())); } } } diff --git a/src/Ryujinx.Tests/Audio/Renderer/Server/AddressInfoTests.cs b/src/Ryujinx.Tests/Audio/Renderer/Server/AddressInfoTests.cs index 53a6625847..45296631b4 100644 --- a/src/Ryujinx.Tests/Audio/Renderer/Server/AddressInfoTests.cs +++ b/src/Ryujinx.Tests/Audio/Renderer/Server/AddressInfoTests.cs @@ -10,7 +10,7 @@ namespace Ryujinx.Tests.Audio.Renderer.Server [Test] public void EnsureTypeSize() { - Assert.AreEqual(0x20, Unsafe.SizeOf()); + Assert.That(0x20, Is.EqualTo(Unsafe.SizeOf())); } [Test] @@ -25,11 +25,11 @@ namespace Ryujinx.Tests.Audio.Renderer.Server addressInfo.ForceMappedDspAddress = 0x2000000; - Assert.AreEqual(0x2000000, addressInfo.GetReference(true)); + Assert.That(0x2000000, Is.EqualTo(addressInfo.GetReference(true))); addressInfo.SetupMemoryPool(memoryPoolState.AsSpan()); - Assert.AreEqual(0x4000000, addressInfo.GetReference(true)); + Assert.That(0x4000000, Is.EqualTo(addressInfo.GetReference(true))); } } } diff --git a/src/Ryujinx.Tests/Audio/Renderer/Server/BehaviourContextTests.cs b/src/Ryujinx.Tests/Audio/Renderer/Server/BehaviourContextTests.cs index 3e48a5b4ec..0e7b8d863e 100644 --- a/src/Ryujinx.Tests/Audio/Renderer/Server/BehaviourContextTests.cs +++ b/src/Ryujinx.Tests/Audio/Renderer/Server/BehaviourContextTests.cs @@ -12,11 +12,11 @@ namespace Ryujinx.Tests.Audio.Renderer.Server int previousRevision = BehaviourContext.BaseRevisionMagic + (BehaviourContext.LastRevision - 1); int invalidRevision = BehaviourContext.BaseRevisionMagic + (BehaviourContext.LastRevision + 1); - Assert.IsTrue(BehaviourContext.CheckFeatureSupported(latestRevision, latestRevision)); - Assert.IsFalse(BehaviourContext.CheckFeatureSupported(previousRevision, latestRevision)); - Assert.IsTrue(BehaviourContext.CheckFeatureSupported(latestRevision, previousRevision)); + Assert.That(BehaviourContext.CheckFeatureSupported(latestRevision, latestRevision), Is.True); + Assert.That(BehaviourContext.CheckFeatureSupported(previousRevision, latestRevision), Is.False); + Assert.That(BehaviourContext.CheckFeatureSupported(latestRevision, previousRevision), Is.True); // In case we get an invalid revision, this is supposed to auto default to REV1 internally.. idk what the hell Nintendo was thinking here.. - Assert.IsTrue(BehaviourContext.CheckFeatureSupported(invalidRevision, latestRevision)); + Assert.That(BehaviourContext.CheckFeatureSupported(invalidRevision, latestRevision), Is.True); } [Test] @@ -26,11 +26,11 @@ namespace Ryujinx.Tests.Audio.Renderer.Server behaviourContext.SetUserRevision(BehaviourContext.BaseRevisionMagic + BehaviourContext.Revision1); - Assert.IsFalse(behaviourContext.IsMemoryPoolForceMappingEnabled()); + Assert.That(behaviourContext.IsMemoryPoolForceMappingEnabled(), Is.False); behaviourContext.UpdateFlags(0x1); - Assert.IsTrue(behaviourContext.IsMemoryPoolForceMappingEnabled()); + Assert.That(behaviourContext.IsMemoryPoolForceMappingEnabled(), Is.True); } [Test] @@ -40,25 +40,25 @@ namespace Ryujinx.Tests.Audio.Renderer.Server behaviourContext.SetUserRevision(BehaviourContext.BaseRevisionMagic + BehaviourContext.Revision1); - Assert.IsFalse(behaviourContext.IsAdpcmLoopContextBugFixed()); - Assert.IsFalse(behaviourContext.IsSplitterSupported()); - Assert.IsFalse(behaviourContext.IsLongSizePreDelaySupported()); - Assert.IsFalse(behaviourContext.IsAudioUsbDeviceOutputSupported()); - Assert.IsFalse(behaviourContext.IsFlushVoiceWaveBuffersSupported()); - Assert.IsFalse(behaviourContext.IsSplitterBugFixed()); - Assert.IsFalse(behaviourContext.IsElapsedFrameCountSupported()); - Assert.IsFalse(behaviourContext.IsDecodingBehaviourFlagSupported()); - Assert.IsFalse(behaviourContext.IsBiquadFilterEffectStateClearBugFixed()); - Assert.IsFalse(behaviourContext.IsMixInParameterDirtyOnlyUpdateSupported()); - Assert.IsFalse(behaviourContext.IsWaveBufferVersion2Supported()); - Assert.IsFalse(behaviourContext.IsEffectInfoVersion2Supported()); - Assert.IsFalse(behaviourContext.UseMultiTapBiquadFilterProcessing()); - Assert.IsFalse(behaviourContext.IsNewEffectChannelMappingSupported()); - Assert.IsFalse(behaviourContext.IsBiquadFilterParameterForSplitterEnabled()); + Assert.That(behaviourContext.IsAdpcmLoopContextBugFixed(), Is.False); + Assert.That(behaviourContext.IsSplitterSupported(), Is.False); + Assert.That(behaviourContext.IsLongSizePreDelaySupported(), Is.False); + Assert.That(behaviourContext.IsAudioUsbDeviceOutputSupported(), Is.False); + Assert.That(behaviourContext.IsFlushVoiceWaveBuffersSupported(), Is.False); + Assert.That(behaviourContext.IsSplitterBugFixed(), Is.False); + Assert.That(behaviourContext.IsElapsedFrameCountSupported(), Is.False); + Assert.That(behaviourContext.IsDecodingBehaviourFlagSupported(), Is.False); + Assert.That(behaviourContext.IsBiquadFilterEffectStateClearBugFixed(), Is.False); + Assert.That(behaviourContext.IsMixInParameterDirtyOnlyUpdateSupported(), Is.False); + Assert.That(behaviourContext.IsWaveBufferVersion2Supported(), Is.False); + Assert.That(behaviourContext.IsEffectInfoVersion2Supported(), Is.False); + Assert.That(behaviourContext.UseMultiTapBiquadFilterProcessing(), Is.False); + Assert.That(behaviourContext.IsNewEffectChannelMappingSupported(), Is.False); + Assert.That(behaviourContext.IsBiquadFilterParameterForSplitterEnabled(), Is.False); - Assert.AreEqual(0.70f, behaviourContext.GetAudioRendererProcessingTimeLimit()); - Assert.AreEqual(1, behaviourContext.GetCommandProcessingTimeEstimatorVersion()); - Assert.AreEqual(1, behaviourContext.GetPerformanceMetricsDataFormat()); + Assert.That(0.70f, Is.EqualTo(behaviourContext.GetAudioRendererProcessingTimeLimit())); + Assert.That(1, Is.EqualTo(behaviourContext.GetCommandProcessingTimeEstimatorVersion())); + Assert.That(1, Is.EqualTo(behaviourContext.GetPerformanceMetricsDataFormat())); } [Test] @@ -68,25 +68,25 @@ namespace Ryujinx.Tests.Audio.Renderer.Server behaviourContext.SetUserRevision(BehaviourContext.BaseRevisionMagic + BehaviourContext.Revision2); - Assert.IsTrue(behaviourContext.IsAdpcmLoopContextBugFixed()); - Assert.IsTrue(behaviourContext.IsSplitterSupported()); - Assert.IsFalse(behaviourContext.IsLongSizePreDelaySupported()); - Assert.IsFalse(behaviourContext.IsAudioUsbDeviceOutputSupported()); - Assert.IsFalse(behaviourContext.IsFlushVoiceWaveBuffersSupported()); - Assert.IsFalse(behaviourContext.IsSplitterBugFixed()); - Assert.IsFalse(behaviourContext.IsElapsedFrameCountSupported()); - Assert.IsFalse(behaviourContext.IsDecodingBehaviourFlagSupported()); - Assert.IsFalse(behaviourContext.IsBiquadFilterEffectStateClearBugFixed()); - Assert.IsFalse(behaviourContext.IsMixInParameterDirtyOnlyUpdateSupported()); - Assert.IsFalse(behaviourContext.IsWaveBufferVersion2Supported()); - Assert.IsFalse(behaviourContext.IsEffectInfoVersion2Supported()); - Assert.IsFalse(behaviourContext.UseMultiTapBiquadFilterProcessing()); - Assert.IsFalse(behaviourContext.IsNewEffectChannelMappingSupported()); - Assert.IsFalse(behaviourContext.IsBiquadFilterParameterForSplitterEnabled()); + Assert.That(behaviourContext.IsAdpcmLoopContextBugFixed(), Is.True); + Assert.That(behaviourContext.IsSplitterSupported(), Is.True); + Assert.That(behaviourContext.IsLongSizePreDelaySupported(), Is.False); + Assert.That(behaviourContext.IsAudioUsbDeviceOutputSupported(), Is.False); + Assert.That(behaviourContext.IsFlushVoiceWaveBuffersSupported(), Is.False); + Assert.That(behaviourContext.IsSplitterBugFixed(), Is.False); + Assert.That(behaviourContext.IsElapsedFrameCountSupported(), Is.False); + Assert.That(behaviourContext.IsDecodingBehaviourFlagSupported(), Is.False); + Assert.That(behaviourContext.IsBiquadFilterEffectStateClearBugFixed(), Is.False); + Assert.That(behaviourContext.IsMixInParameterDirtyOnlyUpdateSupported(), Is.False); + Assert.That(behaviourContext.IsWaveBufferVersion2Supported(), Is.False); + Assert.That(behaviourContext.IsEffectInfoVersion2Supported(), Is.False); + Assert.That(behaviourContext.UseMultiTapBiquadFilterProcessing(), Is.False); + Assert.That(behaviourContext.IsNewEffectChannelMappingSupported(), Is.False); + Assert.That(behaviourContext.IsBiquadFilterParameterForSplitterEnabled(), Is.False); - Assert.AreEqual(0.70f, behaviourContext.GetAudioRendererProcessingTimeLimit()); - Assert.AreEqual(1, behaviourContext.GetCommandProcessingTimeEstimatorVersion()); - Assert.AreEqual(1, behaviourContext.GetPerformanceMetricsDataFormat()); + Assert.That(0.70f, Is.EqualTo(behaviourContext.GetAudioRendererProcessingTimeLimit())); + Assert.That(1, Is.EqualTo(behaviourContext.GetCommandProcessingTimeEstimatorVersion())); + Assert.That(1, Is.EqualTo(behaviourContext.GetPerformanceMetricsDataFormat())); } [Test] @@ -96,25 +96,25 @@ namespace Ryujinx.Tests.Audio.Renderer.Server behaviourContext.SetUserRevision(BehaviourContext.BaseRevisionMagic + BehaviourContext.Revision3); - Assert.IsTrue(behaviourContext.IsAdpcmLoopContextBugFixed()); - Assert.IsTrue(behaviourContext.IsSplitterSupported()); - Assert.IsTrue(behaviourContext.IsLongSizePreDelaySupported()); - Assert.IsFalse(behaviourContext.IsAudioUsbDeviceOutputSupported()); - Assert.IsFalse(behaviourContext.IsFlushVoiceWaveBuffersSupported()); - Assert.IsFalse(behaviourContext.IsSplitterBugFixed()); - Assert.IsFalse(behaviourContext.IsElapsedFrameCountSupported()); - Assert.IsFalse(behaviourContext.IsDecodingBehaviourFlagSupported()); - Assert.IsFalse(behaviourContext.IsBiquadFilterEffectStateClearBugFixed()); - Assert.IsFalse(behaviourContext.IsMixInParameterDirtyOnlyUpdateSupported()); - Assert.IsFalse(behaviourContext.IsWaveBufferVersion2Supported()); - Assert.IsFalse(behaviourContext.IsEffectInfoVersion2Supported()); - Assert.IsFalse(behaviourContext.UseMultiTapBiquadFilterProcessing()); - Assert.IsFalse(behaviourContext.IsNewEffectChannelMappingSupported()); - Assert.IsFalse(behaviourContext.IsBiquadFilterParameterForSplitterEnabled()); + Assert.That(behaviourContext.IsAdpcmLoopContextBugFixed(), Is.True); + Assert.That(behaviourContext.IsSplitterSupported(), Is.True); + Assert.That(behaviourContext.IsLongSizePreDelaySupported(), Is.True); + Assert.That(behaviourContext.IsAudioUsbDeviceOutputSupported(), Is.False); + Assert.That(behaviourContext.IsFlushVoiceWaveBuffersSupported(), Is.False); + Assert.That(behaviourContext.IsSplitterBugFixed(), Is.False); + Assert.That(behaviourContext.IsElapsedFrameCountSupported(), Is.False); + Assert.That(behaviourContext.IsDecodingBehaviourFlagSupported(), Is.False); + Assert.That(behaviourContext.IsBiquadFilterEffectStateClearBugFixed(), Is.False); + Assert.That(behaviourContext.IsMixInParameterDirtyOnlyUpdateSupported(), Is.False); + Assert.That(behaviourContext.IsWaveBufferVersion2Supported(), Is.False); + Assert.That(behaviourContext.IsEffectInfoVersion2Supported(), Is.False); + Assert.That(behaviourContext.UseMultiTapBiquadFilterProcessing(), Is.False); + Assert.That(behaviourContext.IsNewEffectChannelMappingSupported(), Is.False); + Assert.That(behaviourContext.IsBiquadFilterParameterForSplitterEnabled(), Is.False); - Assert.AreEqual(0.70f, behaviourContext.GetAudioRendererProcessingTimeLimit()); - Assert.AreEqual(1, behaviourContext.GetCommandProcessingTimeEstimatorVersion()); - Assert.AreEqual(1, behaviourContext.GetPerformanceMetricsDataFormat()); + Assert.That(0.70f, Is.EqualTo(behaviourContext.GetAudioRendererProcessingTimeLimit())); + Assert.That(1, Is.EqualTo(behaviourContext.GetCommandProcessingTimeEstimatorVersion())); + Assert.That(1, Is.EqualTo(behaviourContext.GetPerformanceMetricsDataFormat())); } [Test] @@ -124,25 +124,25 @@ namespace Ryujinx.Tests.Audio.Renderer.Server behaviourContext.SetUserRevision(BehaviourContext.BaseRevisionMagic + BehaviourContext.Revision4); - Assert.IsTrue(behaviourContext.IsAdpcmLoopContextBugFixed()); - Assert.IsTrue(behaviourContext.IsSplitterSupported()); - Assert.IsTrue(behaviourContext.IsLongSizePreDelaySupported()); - Assert.IsTrue(behaviourContext.IsAudioUsbDeviceOutputSupported()); - Assert.IsFalse(behaviourContext.IsFlushVoiceWaveBuffersSupported()); - Assert.IsFalse(behaviourContext.IsSplitterBugFixed()); - Assert.IsFalse(behaviourContext.IsElapsedFrameCountSupported()); - Assert.IsFalse(behaviourContext.IsDecodingBehaviourFlagSupported()); - Assert.IsFalse(behaviourContext.IsBiquadFilterEffectStateClearBugFixed()); - Assert.IsFalse(behaviourContext.IsMixInParameterDirtyOnlyUpdateSupported()); - Assert.IsFalse(behaviourContext.IsWaveBufferVersion2Supported()); - Assert.IsFalse(behaviourContext.IsEffectInfoVersion2Supported()); - Assert.IsFalse(behaviourContext.UseMultiTapBiquadFilterProcessing()); - Assert.IsFalse(behaviourContext.IsNewEffectChannelMappingSupported()); - Assert.IsFalse(behaviourContext.IsBiquadFilterParameterForSplitterEnabled()); + Assert.That(behaviourContext.IsAdpcmLoopContextBugFixed(), Is.True); + Assert.That(behaviourContext.IsSplitterSupported(), Is.True); + Assert.That(behaviourContext.IsLongSizePreDelaySupported(), Is.True); + Assert.That(behaviourContext.IsAudioUsbDeviceOutputSupported(), Is.True); + Assert.That(behaviourContext.IsFlushVoiceWaveBuffersSupported(), Is.False); + Assert.That(behaviourContext.IsSplitterBugFixed(), Is.False); + Assert.That(behaviourContext.IsElapsedFrameCountSupported(), Is.False); + Assert.That(behaviourContext.IsDecodingBehaviourFlagSupported(), Is.False); + Assert.That(behaviourContext.IsBiquadFilterEffectStateClearBugFixed(), Is.False); + Assert.That(behaviourContext.IsMixInParameterDirtyOnlyUpdateSupported(), Is.False); + Assert.That(behaviourContext.IsWaveBufferVersion2Supported(), Is.False); + Assert.That(behaviourContext.IsEffectInfoVersion2Supported(), Is.False); + Assert.That(behaviourContext.UseMultiTapBiquadFilterProcessing(), Is.False); + Assert.That(behaviourContext.IsNewEffectChannelMappingSupported(), Is.False); + Assert.That(behaviourContext.IsBiquadFilterParameterForSplitterEnabled(), Is.False); - Assert.AreEqual(0.75f, behaviourContext.GetAudioRendererProcessingTimeLimit()); - Assert.AreEqual(1, behaviourContext.GetCommandProcessingTimeEstimatorVersion()); - Assert.AreEqual(1, behaviourContext.GetPerformanceMetricsDataFormat()); + Assert.That(0.75f, Is.EqualTo(behaviourContext.GetAudioRendererProcessingTimeLimit())); + Assert.That(1, Is.EqualTo(behaviourContext.GetCommandProcessingTimeEstimatorVersion())); + Assert.That(1, Is.EqualTo(behaviourContext.GetPerformanceMetricsDataFormat())); } [Test] @@ -152,25 +152,25 @@ namespace Ryujinx.Tests.Audio.Renderer.Server behaviourContext.SetUserRevision(BehaviourContext.BaseRevisionMagic + BehaviourContext.Revision5); - Assert.IsTrue(behaviourContext.IsAdpcmLoopContextBugFixed()); - Assert.IsTrue(behaviourContext.IsSplitterSupported()); - Assert.IsTrue(behaviourContext.IsLongSizePreDelaySupported()); - Assert.IsTrue(behaviourContext.IsAudioUsbDeviceOutputSupported()); - Assert.IsTrue(behaviourContext.IsFlushVoiceWaveBuffersSupported()); - Assert.IsTrue(behaviourContext.IsSplitterBugFixed()); - Assert.IsTrue(behaviourContext.IsElapsedFrameCountSupported()); - Assert.IsTrue(behaviourContext.IsDecodingBehaviourFlagSupported()); - Assert.IsFalse(behaviourContext.IsBiquadFilterEffectStateClearBugFixed()); - Assert.IsFalse(behaviourContext.IsMixInParameterDirtyOnlyUpdateSupported()); - Assert.IsFalse(behaviourContext.IsWaveBufferVersion2Supported()); - Assert.IsFalse(behaviourContext.IsEffectInfoVersion2Supported()); - Assert.IsFalse(behaviourContext.UseMultiTapBiquadFilterProcessing()); - Assert.IsFalse(behaviourContext.IsNewEffectChannelMappingSupported()); - Assert.IsFalse(behaviourContext.IsBiquadFilterParameterForSplitterEnabled()); + Assert.That(behaviourContext.IsAdpcmLoopContextBugFixed(), Is.True); + Assert.That(behaviourContext.IsSplitterSupported(), Is.True); + Assert.That(behaviourContext.IsLongSizePreDelaySupported(), Is.True); + Assert.That(behaviourContext.IsAudioUsbDeviceOutputSupported(), Is.True); + Assert.That(behaviourContext.IsFlushVoiceWaveBuffersSupported(), Is.True); + Assert.That(behaviourContext.IsSplitterBugFixed(), Is.True); + Assert.That(behaviourContext.IsElapsedFrameCountSupported(), Is.True); + Assert.That(behaviourContext.IsDecodingBehaviourFlagSupported(), Is.True); + Assert.That(behaviourContext.IsBiquadFilterEffectStateClearBugFixed(), Is.False); + Assert.That(behaviourContext.IsMixInParameterDirtyOnlyUpdateSupported(), Is.False); + Assert.That(behaviourContext.IsWaveBufferVersion2Supported(), Is.False); + Assert.That(behaviourContext.IsEffectInfoVersion2Supported(), Is.False); + Assert.That(behaviourContext.UseMultiTapBiquadFilterProcessing(), Is.False); + Assert.That(behaviourContext.IsNewEffectChannelMappingSupported(), Is.False); + Assert.That(behaviourContext.IsBiquadFilterParameterForSplitterEnabled(), Is.False); - Assert.AreEqual(0.80f, behaviourContext.GetAudioRendererProcessingTimeLimit()); - Assert.AreEqual(2, behaviourContext.GetCommandProcessingTimeEstimatorVersion()); - Assert.AreEqual(2, behaviourContext.GetPerformanceMetricsDataFormat()); + Assert.That(0.80f, Is.EqualTo(behaviourContext.GetAudioRendererProcessingTimeLimit())); + Assert.That(2, Is.EqualTo(behaviourContext.GetCommandProcessingTimeEstimatorVersion())); + Assert.That(2, Is.EqualTo(behaviourContext.GetPerformanceMetricsDataFormat())); } [Test] @@ -180,25 +180,25 @@ namespace Ryujinx.Tests.Audio.Renderer.Server behaviourContext.SetUserRevision(BehaviourContext.BaseRevisionMagic + BehaviourContext.Revision6); - Assert.IsTrue(behaviourContext.IsAdpcmLoopContextBugFixed()); - Assert.IsTrue(behaviourContext.IsSplitterSupported()); - Assert.IsTrue(behaviourContext.IsLongSizePreDelaySupported()); - Assert.IsTrue(behaviourContext.IsAudioUsbDeviceOutputSupported()); - Assert.IsTrue(behaviourContext.IsFlushVoiceWaveBuffersSupported()); - Assert.IsTrue(behaviourContext.IsSplitterBugFixed()); - Assert.IsTrue(behaviourContext.IsElapsedFrameCountSupported()); - Assert.IsTrue(behaviourContext.IsDecodingBehaviourFlagSupported()); - Assert.IsTrue(behaviourContext.IsBiquadFilterEffectStateClearBugFixed()); - Assert.IsFalse(behaviourContext.IsMixInParameterDirtyOnlyUpdateSupported()); - Assert.IsFalse(behaviourContext.IsWaveBufferVersion2Supported()); - Assert.IsFalse(behaviourContext.IsEffectInfoVersion2Supported()); - Assert.IsFalse(behaviourContext.UseMultiTapBiquadFilterProcessing()); - Assert.IsFalse(behaviourContext.IsNewEffectChannelMappingSupported()); - Assert.IsFalse(behaviourContext.IsBiquadFilterParameterForSplitterEnabled()); + Assert.That(behaviourContext.IsAdpcmLoopContextBugFixed(), Is.True); + Assert.That(behaviourContext.IsSplitterSupported(), Is.True); + Assert.That(behaviourContext.IsLongSizePreDelaySupported(), Is.True); + Assert.That(behaviourContext.IsAudioUsbDeviceOutputSupported(), Is.True); + Assert.That(behaviourContext.IsFlushVoiceWaveBuffersSupported(), Is.True); + Assert.That(behaviourContext.IsSplitterBugFixed(), Is.True); + Assert.That(behaviourContext.IsElapsedFrameCountSupported(), Is.True); + Assert.That(behaviourContext.IsDecodingBehaviourFlagSupported(), Is.True); + Assert.That(behaviourContext.IsBiquadFilterEffectStateClearBugFixed(), Is.True); + Assert.That(behaviourContext.IsMixInParameterDirtyOnlyUpdateSupported(), Is.False); + Assert.That(behaviourContext.IsWaveBufferVersion2Supported(), Is.False); + Assert.That(behaviourContext.IsEffectInfoVersion2Supported(), Is.False); + Assert.That(behaviourContext.UseMultiTapBiquadFilterProcessing(), Is.False); + Assert.That(behaviourContext.IsNewEffectChannelMappingSupported(), Is.False); + Assert.That(behaviourContext.IsBiquadFilterParameterForSplitterEnabled(), Is.False); - Assert.AreEqual(0.80f, behaviourContext.GetAudioRendererProcessingTimeLimit()); - Assert.AreEqual(2, behaviourContext.GetCommandProcessingTimeEstimatorVersion()); - Assert.AreEqual(2, behaviourContext.GetPerformanceMetricsDataFormat()); + Assert.That(0.80f, Is.EqualTo(behaviourContext.GetAudioRendererProcessingTimeLimit())); + Assert.That(2, Is.EqualTo(behaviourContext.GetCommandProcessingTimeEstimatorVersion())); + Assert.That(2, Is.EqualTo(behaviourContext.GetPerformanceMetricsDataFormat())); } [Test] @@ -208,25 +208,25 @@ namespace Ryujinx.Tests.Audio.Renderer.Server behaviourContext.SetUserRevision(BehaviourContext.BaseRevisionMagic + BehaviourContext.Revision7); - Assert.IsTrue(behaviourContext.IsAdpcmLoopContextBugFixed()); - Assert.IsTrue(behaviourContext.IsSplitterSupported()); - Assert.IsTrue(behaviourContext.IsLongSizePreDelaySupported()); - Assert.IsTrue(behaviourContext.IsAudioUsbDeviceOutputSupported()); - Assert.IsTrue(behaviourContext.IsFlushVoiceWaveBuffersSupported()); - Assert.IsTrue(behaviourContext.IsSplitterBugFixed()); - Assert.IsTrue(behaviourContext.IsElapsedFrameCountSupported()); - Assert.IsTrue(behaviourContext.IsDecodingBehaviourFlagSupported()); - Assert.IsTrue(behaviourContext.IsBiquadFilterEffectStateClearBugFixed()); - Assert.IsTrue(behaviourContext.IsMixInParameterDirtyOnlyUpdateSupported()); - Assert.IsFalse(behaviourContext.IsWaveBufferVersion2Supported()); - Assert.IsFalse(behaviourContext.IsEffectInfoVersion2Supported()); - Assert.IsFalse(behaviourContext.UseMultiTapBiquadFilterProcessing()); - Assert.IsFalse(behaviourContext.IsNewEffectChannelMappingSupported()); - Assert.IsFalse(behaviourContext.IsBiquadFilterParameterForSplitterEnabled()); + Assert.That(behaviourContext.IsAdpcmLoopContextBugFixed(), Is.True); + Assert.That(behaviourContext.IsSplitterSupported(), Is.True); + Assert.That(behaviourContext.IsLongSizePreDelaySupported(), Is.True); + Assert.That(behaviourContext.IsAudioUsbDeviceOutputSupported(), Is.True); + Assert.That(behaviourContext.IsFlushVoiceWaveBuffersSupported(), Is.True); + Assert.That(behaviourContext.IsSplitterBugFixed(), Is.True); + Assert.That(behaviourContext.IsElapsedFrameCountSupported(), Is.True); + Assert.That(behaviourContext.IsDecodingBehaviourFlagSupported(), Is.True); + Assert.That(behaviourContext.IsBiquadFilterEffectStateClearBugFixed(), Is.True); + Assert.That(behaviourContext.IsMixInParameterDirtyOnlyUpdateSupported(), Is.True); + Assert.That(behaviourContext.IsWaveBufferVersion2Supported(), Is.False); + Assert.That(behaviourContext.IsEffectInfoVersion2Supported(), Is.False); + Assert.That(behaviourContext.UseMultiTapBiquadFilterProcessing(), Is.False); + Assert.That(behaviourContext.IsNewEffectChannelMappingSupported(), Is.False); + Assert.That(behaviourContext.IsBiquadFilterParameterForSplitterEnabled(), Is.False); - Assert.AreEqual(0.80f, behaviourContext.GetAudioRendererProcessingTimeLimit()); - Assert.AreEqual(2, behaviourContext.GetCommandProcessingTimeEstimatorVersion()); - Assert.AreEqual(2, behaviourContext.GetPerformanceMetricsDataFormat()); + Assert.That(0.80f, Is.EqualTo(behaviourContext.GetAudioRendererProcessingTimeLimit())); + Assert.That(2, Is.EqualTo(behaviourContext.GetCommandProcessingTimeEstimatorVersion())); + Assert.That(2, Is.EqualTo(behaviourContext.GetPerformanceMetricsDataFormat())); } [Test] @@ -236,25 +236,25 @@ namespace Ryujinx.Tests.Audio.Renderer.Server behaviourContext.SetUserRevision(BehaviourContext.BaseRevisionMagic + BehaviourContext.Revision8); - Assert.IsTrue(behaviourContext.IsAdpcmLoopContextBugFixed()); - Assert.IsTrue(behaviourContext.IsSplitterSupported()); - Assert.IsTrue(behaviourContext.IsLongSizePreDelaySupported()); - Assert.IsTrue(behaviourContext.IsAudioUsbDeviceOutputSupported()); - Assert.IsTrue(behaviourContext.IsFlushVoiceWaveBuffersSupported()); - Assert.IsTrue(behaviourContext.IsSplitterBugFixed()); - Assert.IsTrue(behaviourContext.IsElapsedFrameCountSupported()); - Assert.IsTrue(behaviourContext.IsDecodingBehaviourFlagSupported()); - Assert.IsTrue(behaviourContext.IsBiquadFilterEffectStateClearBugFixed()); - Assert.IsTrue(behaviourContext.IsMixInParameterDirtyOnlyUpdateSupported()); - Assert.IsTrue(behaviourContext.IsWaveBufferVersion2Supported()); - Assert.IsFalse(behaviourContext.IsEffectInfoVersion2Supported()); - Assert.IsFalse(behaviourContext.UseMultiTapBiquadFilterProcessing()); - Assert.IsFalse(behaviourContext.IsNewEffectChannelMappingSupported()); - Assert.IsFalse(behaviourContext.IsBiquadFilterParameterForSplitterEnabled()); + Assert.That(behaviourContext.IsAdpcmLoopContextBugFixed(), Is.True); + Assert.That(behaviourContext.IsSplitterSupported(), Is.True); + Assert.That(behaviourContext.IsLongSizePreDelaySupported(), Is.True); + Assert.That(behaviourContext.IsAudioUsbDeviceOutputSupported(), Is.True); + Assert.That(behaviourContext.IsFlushVoiceWaveBuffersSupported(), Is.True); + Assert.That(behaviourContext.IsSplitterBugFixed(), Is.True); + Assert.That(behaviourContext.IsElapsedFrameCountSupported(), Is.True); + Assert.That(behaviourContext.IsDecodingBehaviourFlagSupported(), Is.True); + Assert.That(behaviourContext.IsBiquadFilterEffectStateClearBugFixed(), Is.True); + Assert.That(behaviourContext.IsMixInParameterDirtyOnlyUpdateSupported(), Is.True); + Assert.That(behaviourContext.IsWaveBufferVersion2Supported(), Is.True); + Assert.That(behaviourContext.IsEffectInfoVersion2Supported(), Is.False); + Assert.That(behaviourContext.UseMultiTapBiquadFilterProcessing(), Is.False); + Assert.That(behaviourContext.IsNewEffectChannelMappingSupported(), Is.False); + Assert.That(behaviourContext.IsBiquadFilterParameterForSplitterEnabled(), Is.False); - Assert.AreEqual(0.80f, behaviourContext.GetAudioRendererProcessingTimeLimit()); - Assert.AreEqual(3, behaviourContext.GetCommandProcessingTimeEstimatorVersion()); - Assert.AreEqual(2, behaviourContext.GetPerformanceMetricsDataFormat()); + Assert.That(0.80f, Is.EqualTo(behaviourContext.GetAudioRendererProcessingTimeLimit())); + Assert.That(3, Is.EqualTo(behaviourContext.GetCommandProcessingTimeEstimatorVersion())); + Assert.That(2, Is.EqualTo(behaviourContext.GetPerformanceMetricsDataFormat())); } [Test] @@ -264,25 +264,25 @@ namespace Ryujinx.Tests.Audio.Renderer.Server behaviourContext.SetUserRevision(BehaviourContext.BaseRevisionMagic + BehaviourContext.Revision9); - Assert.IsTrue(behaviourContext.IsAdpcmLoopContextBugFixed()); - Assert.IsTrue(behaviourContext.IsSplitterSupported()); - Assert.IsTrue(behaviourContext.IsLongSizePreDelaySupported()); - Assert.IsTrue(behaviourContext.IsAudioUsbDeviceOutputSupported()); - Assert.IsTrue(behaviourContext.IsFlushVoiceWaveBuffersSupported()); - Assert.IsTrue(behaviourContext.IsSplitterBugFixed()); - Assert.IsTrue(behaviourContext.IsElapsedFrameCountSupported()); - Assert.IsTrue(behaviourContext.IsDecodingBehaviourFlagSupported()); - Assert.IsTrue(behaviourContext.IsBiquadFilterEffectStateClearBugFixed()); - Assert.IsTrue(behaviourContext.IsMixInParameterDirtyOnlyUpdateSupported()); - Assert.IsTrue(behaviourContext.IsWaveBufferVersion2Supported()); - Assert.IsTrue(behaviourContext.IsEffectInfoVersion2Supported()); - Assert.IsFalse(behaviourContext.UseMultiTapBiquadFilterProcessing()); - Assert.IsFalse(behaviourContext.IsNewEffectChannelMappingSupported()); - Assert.IsFalse(behaviourContext.IsBiquadFilterParameterForSplitterEnabled()); + Assert.That(behaviourContext.IsAdpcmLoopContextBugFixed(), Is.True); + Assert.That(behaviourContext.IsSplitterSupported(), Is.True); + Assert.That(behaviourContext.IsLongSizePreDelaySupported(), Is.True); + Assert.That(behaviourContext.IsAudioUsbDeviceOutputSupported(), Is.True); + Assert.That(behaviourContext.IsFlushVoiceWaveBuffersSupported(), Is.True); + Assert.That(behaviourContext.IsSplitterBugFixed(), Is.True); + Assert.That(behaviourContext.IsElapsedFrameCountSupported(), Is.True); + Assert.That(behaviourContext.IsDecodingBehaviourFlagSupported(), Is.True); + Assert.That(behaviourContext.IsBiquadFilterEffectStateClearBugFixed(), Is.True); + Assert.That(behaviourContext.IsMixInParameterDirtyOnlyUpdateSupported(), Is.True); + Assert.That(behaviourContext.IsWaveBufferVersion2Supported(), Is.True); + Assert.That(behaviourContext.IsEffectInfoVersion2Supported(), Is.True); + Assert.That(behaviourContext.UseMultiTapBiquadFilterProcessing(), Is.False); + Assert.That(behaviourContext.IsNewEffectChannelMappingSupported(), Is.False); + Assert.That(behaviourContext.IsBiquadFilterParameterForSplitterEnabled(), Is.False); - Assert.AreEqual(0.80f, behaviourContext.GetAudioRendererProcessingTimeLimit()); - Assert.AreEqual(3, behaviourContext.GetCommandProcessingTimeEstimatorVersion()); - Assert.AreEqual(2, behaviourContext.GetPerformanceMetricsDataFormat()); + Assert.That(0.80f, Is.EqualTo(behaviourContext.GetAudioRendererProcessingTimeLimit())); + Assert.That(3, Is.EqualTo(behaviourContext.GetCommandProcessingTimeEstimatorVersion())); + Assert.That(2, Is.EqualTo(behaviourContext.GetPerformanceMetricsDataFormat())); } [Test] @@ -292,25 +292,25 @@ namespace Ryujinx.Tests.Audio.Renderer.Server behaviourContext.SetUserRevision(BehaviourContext.BaseRevisionMagic + BehaviourContext.Revision10); - Assert.IsTrue(behaviourContext.IsAdpcmLoopContextBugFixed()); - Assert.IsTrue(behaviourContext.IsSplitterSupported()); - Assert.IsTrue(behaviourContext.IsLongSizePreDelaySupported()); - Assert.IsTrue(behaviourContext.IsAudioUsbDeviceOutputSupported()); - Assert.IsTrue(behaviourContext.IsFlushVoiceWaveBuffersSupported()); - Assert.IsTrue(behaviourContext.IsSplitterBugFixed()); - Assert.IsTrue(behaviourContext.IsElapsedFrameCountSupported()); - Assert.IsTrue(behaviourContext.IsDecodingBehaviourFlagSupported()); - Assert.IsTrue(behaviourContext.IsBiquadFilterEffectStateClearBugFixed()); - Assert.IsTrue(behaviourContext.IsMixInParameterDirtyOnlyUpdateSupported()); - Assert.IsTrue(behaviourContext.IsWaveBufferVersion2Supported()); - Assert.IsTrue(behaviourContext.IsEffectInfoVersion2Supported()); - Assert.IsTrue(behaviourContext.UseMultiTapBiquadFilterProcessing()); - Assert.IsFalse(behaviourContext.IsNewEffectChannelMappingSupported()); - Assert.IsFalse(behaviourContext.IsBiquadFilterParameterForSplitterEnabled()); + Assert.That(behaviourContext.IsAdpcmLoopContextBugFixed(), Is.True); + Assert.That(behaviourContext.IsSplitterSupported(), Is.True); + Assert.That(behaviourContext.IsLongSizePreDelaySupported(), Is.True); + Assert.That(behaviourContext.IsAudioUsbDeviceOutputSupported(), Is.True); + Assert.That(behaviourContext.IsFlushVoiceWaveBuffersSupported(), Is.True); + Assert.That(behaviourContext.IsSplitterBugFixed(), Is.True); + Assert.That(behaviourContext.IsElapsedFrameCountSupported(), Is.True); + Assert.That(behaviourContext.IsDecodingBehaviourFlagSupported(), Is.True); + Assert.That(behaviourContext.IsBiquadFilterEffectStateClearBugFixed(), Is.True); + Assert.That(behaviourContext.IsMixInParameterDirtyOnlyUpdateSupported(), Is.True); + Assert.That(behaviourContext.IsWaveBufferVersion2Supported(), Is.True); + Assert.That(behaviourContext.IsEffectInfoVersion2Supported(), Is.True); + Assert.That(behaviourContext.UseMultiTapBiquadFilterProcessing(), Is.True); + Assert.That(behaviourContext.IsNewEffectChannelMappingSupported(), Is.False); + Assert.That(behaviourContext.IsBiquadFilterParameterForSplitterEnabled(), Is.False); - Assert.AreEqual(0.80f, behaviourContext.GetAudioRendererProcessingTimeLimit()); - Assert.AreEqual(4, behaviourContext.GetCommandProcessingTimeEstimatorVersion()); - Assert.AreEqual(2, behaviourContext.GetPerformanceMetricsDataFormat()); + Assert.That(0.80f, Is.EqualTo(behaviourContext.GetAudioRendererProcessingTimeLimit())); + Assert.That(4, Is.EqualTo(behaviourContext.GetCommandProcessingTimeEstimatorVersion())); + Assert.That(2, Is.EqualTo(behaviourContext.GetPerformanceMetricsDataFormat())); } [Test] @@ -320,25 +320,25 @@ namespace Ryujinx.Tests.Audio.Renderer.Server behaviourContext.SetUserRevision(BehaviourContext.BaseRevisionMagic + BehaviourContext.Revision11); - Assert.IsTrue(behaviourContext.IsAdpcmLoopContextBugFixed()); - Assert.IsTrue(behaviourContext.IsSplitterSupported()); - Assert.IsTrue(behaviourContext.IsLongSizePreDelaySupported()); - Assert.IsTrue(behaviourContext.IsAudioUsbDeviceOutputSupported()); - Assert.IsTrue(behaviourContext.IsFlushVoiceWaveBuffersSupported()); - Assert.IsTrue(behaviourContext.IsSplitterBugFixed()); - Assert.IsTrue(behaviourContext.IsElapsedFrameCountSupported()); - Assert.IsTrue(behaviourContext.IsDecodingBehaviourFlagSupported()); - Assert.IsTrue(behaviourContext.IsBiquadFilterEffectStateClearBugFixed()); - Assert.IsTrue(behaviourContext.IsMixInParameterDirtyOnlyUpdateSupported()); - Assert.IsTrue(behaviourContext.IsWaveBufferVersion2Supported()); - Assert.IsTrue(behaviourContext.IsEffectInfoVersion2Supported()); - Assert.IsTrue(behaviourContext.UseMultiTapBiquadFilterProcessing()); - Assert.IsTrue(behaviourContext.IsNewEffectChannelMappingSupported()); - Assert.IsFalse(behaviourContext.IsBiquadFilterParameterForSplitterEnabled()); + Assert.That(behaviourContext.IsAdpcmLoopContextBugFixed(), Is.True); + Assert.That(behaviourContext.IsSplitterSupported(), Is.True); + Assert.That(behaviourContext.IsLongSizePreDelaySupported(), Is.True); + Assert.That(behaviourContext.IsAudioUsbDeviceOutputSupported(), Is.True); + Assert.That(behaviourContext.IsFlushVoiceWaveBuffersSupported(), Is.True); + Assert.That(behaviourContext.IsSplitterBugFixed(), Is.True); + Assert.That(behaviourContext.IsElapsedFrameCountSupported(), Is.True); + Assert.That(behaviourContext.IsDecodingBehaviourFlagSupported(), Is.True); + Assert.That(behaviourContext.IsBiquadFilterEffectStateClearBugFixed(), Is.True); + Assert.That(behaviourContext.IsMixInParameterDirtyOnlyUpdateSupported(), Is.True); + Assert.That(behaviourContext.IsWaveBufferVersion2Supported(), Is.True); + Assert.That(behaviourContext.IsEffectInfoVersion2Supported(), Is.True); + Assert.That(behaviourContext.UseMultiTapBiquadFilterProcessing(), Is.True); + Assert.That(behaviourContext.IsNewEffectChannelMappingSupported(), Is.True); + Assert.That(behaviourContext.IsBiquadFilterParameterForSplitterEnabled(), Is.False); - Assert.AreEqual(0.80f, behaviourContext.GetAudioRendererProcessingTimeLimit()); - Assert.AreEqual(5, behaviourContext.GetCommandProcessingTimeEstimatorVersion()); - Assert.AreEqual(2, behaviourContext.GetPerformanceMetricsDataFormat()); + Assert.That(0.80f, Is.EqualTo(behaviourContext.GetAudioRendererProcessingTimeLimit())); + Assert.That(5, Is.EqualTo(behaviourContext.GetCommandProcessingTimeEstimatorVersion())); + Assert.That(2, Is.EqualTo(behaviourContext.GetPerformanceMetricsDataFormat())); } [Test] @@ -348,25 +348,25 @@ namespace Ryujinx.Tests.Audio.Renderer.Server behaviourContext.SetUserRevision(BehaviourContext.BaseRevisionMagic + BehaviourContext.Revision12); - Assert.IsTrue(behaviourContext.IsAdpcmLoopContextBugFixed()); - Assert.IsTrue(behaviourContext.IsSplitterSupported()); - Assert.IsTrue(behaviourContext.IsLongSizePreDelaySupported()); - Assert.IsTrue(behaviourContext.IsAudioUsbDeviceOutputSupported()); - Assert.IsTrue(behaviourContext.IsFlushVoiceWaveBuffersSupported()); - Assert.IsTrue(behaviourContext.IsSplitterBugFixed()); - Assert.IsTrue(behaviourContext.IsElapsedFrameCountSupported()); - Assert.IsTrue(behaviourContext.IsDecodingBehaviourFlagSupported()); - Assert.IsTrue(behaviourContext.IsBiquadFilterEffectStateClearBugFixed()); - Assert.IsTrue(behaviourContext.IsMixInParameterDirtyOnlyUpdateSupported()); - Assert.IsTrue(behaviourContext.IsWaveBufferVersion2Supported()); - Assert.IsTrue(behaviourContext.IsEffectInfoVersion2Supported()); - Assert.IsTrue(behaviourContext.UseMultiTapBiquadFilterProcessing()); - Assert.IsTrue(behaviourContext.IsNewEffectChannelMappingSupported()); - Assert.IsTrue(behaviourContext.IsBiquadFilterParameterForSplitterEnabled()); + Assert.That(behaviourContext.IsAdpcmLoopContextBugFixed(), Is.True); + Assert.That(behaviourContext.IsSplitterSupported(), Is.True); + Assert.That(behaviourContext.IsLongSizePreDelaySupported(), Is.True); + Assert.That(behaviourContext.IsAudioUsbDeviceOutputSupported(), Is.True); + Assert.That(behaviourContext.IsFlushVoiceWaveBuffersSupported(), Is.True); + Assert.That(behaviourContext.IsSplitterBugFixed(), Is.True); + Assert.That(behaviourContext.IsElapsedFrameCountSupported(), Is.True); + Assert.That(behaviourContext.IsDecodingBehaviourFlagSupported(), Is.True); + Assert.That(behaviourContext.IsBiquadFilterEffectStateClearBugFixed(), Is.True); + Assert.That(behaviourContext.IsMixInParameterDirtyOnlyUpdateSupported(), Is.True); + Assert.That(behaviourContext.IsWaveBufferVersion2Supported(), Is.True); + Assert.That(behaviourContext.IsEffectInfoVersion2Supported(), Is.True); + Assert.That(behaviourContext.UseMultiTapBiquadFilterProcessing(), Is.True); + Assert.That(behaviourContext.IsNewEffectChannelMappingSupported(), Is.True); + Assert.That(behaviourContext.IsBiquadFilterParameterForSplitterEnabled(), Is.True); - Assert.AreEqual(0.80f, behaviourContext.GetAudioRendererProcessingTimeLimit()); - Assert.AreEqual(5, behaviourContext.GetCommandProcessingTimeEstimatorVersion()); - Assert.AreEqual(2, behaviourContext.GetPerformanceMetricsDataFormat()); + Assert.That(0.80f, Is.EqualTo(behaviourContext.GetAudioRendererProcessingTimeLimit())); + Assert.That(5, Is.EqualTo(behaviourContext.GetCommandProcessingTimeEstimatorVersion())); + Assert.That(2, Is.EqualTo(behaviourContext.GetPerformanceMetricsDataFormat())); } } } diff --git a/src/Ryujinx.Tests/Audio/Renderer/Server/MemoryPoolStateTests.cs b/src/Ryujinx.Tests/Audio/Renderer/Server/MemoryPoolStateTests.cs index c6a2e473e8..d8f45c8f6b 100644 --- a/src/Ryujinx.Tests/Audio/Renderer/Server/MemoryPoolStateTests.cs +++ b/src/Ryujinx.Tests/Audio/Renderer/Server/MemoryPoolStateTests.cs @@ -9,7 +9,7 @@ namespace Ryujinx.Tests.Audio.Renderer.Server [Test] public void EnsureTypeSize() { - Assert.AreEqual(Unsafe.SizeOf(), 0x20); + Assert.That(Unsafe.SizeOf(), Is.EqualTo(0x20)); } [Test] @@ -21,12 +21,12 @@ namespace Ryujinx.Tests.Audio.Renderer.Server memoryPool.DspAddress = 0x2000000; - Assert.IsTrue(memoryPool.Contains(0x1000000, 0x10)); - Assert.IsTrue(memoryPool.Contains(0x1000FE0, 0x10)); - Assert.IsTrue(memoryPool.Contains(0x1000FFF, 0x1)); - Assert.IsFalse(memoryPool.Contains(0x1000FFF, 0x2)); - Assert.IsFalse(memoryPool.Contains(0x1001000, 0x10)); - Assert.IsFalse(memoryPool.Contains(0x2000000, 0x10)); + Assert.That(memoryPool.Contains(0x1000000, 0x10), Is.True); + Assert.That(memoryPool.Contains(0x1000FE0, 0x10), Is.True); + Assert.That(memoryPool.Contains(0x1000FFF, 0x1), Is.True); + Assert.That(memoryPool.Contains(0x1000FFF, 0x2), Is.False); + Assert.That(memoryPool.Contains(0x1001000, 0x10), Is.False); + Assert.That(memoryPool.Contains(0x2000000, 0x10), Is.False); } [Test] @@ -38,11 +38,11 @@ namespace Ryujinx.Tests.Audio.Renderer.Server memoryPool.DspAddress = 0x2000000; - Assert.AreEqual(0x2000FE0, memoryPool.Translate(0x1000FE0, 0x10)); - Assert.AreEqual(0x2000FFF, memoryPool.Translate(0x1000FFF, 0x1)); - Assert.AreEqual(0x0, memoryPool.Translate(0x1000FFF, 0x2)); - Assert.AreEqual(0x0, memoryPool.Translate(0x1001000, 0x10)); - Assert.AreEqual(0x0, memoryPool.Translate(0x2000000, 0x10)); + Assert.That(0x2000FE0, Is.EqualTo(memoryPool.Translate(0x1000FE0, 0x10))); + Assert.That(0x2000FFF, Is.EqualTo(memoryPool.Translate(0x1000FFF, 0x1))); + Assert.That(0x0, Is.EqualTo(memoryPool.Translate(0x1000FFF, 0x2))); + Assert.That(0x0, Is.EqualTo(memoryPool.Translate(0x1001000, 0x10))); + Assert.That(0x0, Is.EqualTo(memoryPool.Translate(0x2000000, 0x10))); } [Test] @@ -52,11 +52,11 @@ namespace Ryujinx.Tests.Audio.Renderer.Server memoryPool.SetCpuAddress(0x1000000, 0x1000); - Assert.IsFalse(memoryPool.IsMapped()); + Assert.That(memoryPool.IsMapped(), Is.False); memoryPool.DspAddress = 0x2000000; - Assert.IsTrue(memoryPool.IsMapped()); + Assert.That(memoryPool.IsMapped(), Is.True); } } } diff --git a/src/Ryujinx.Tests/Audio/Renderer/Server/MixStateTests.cs b/src/Ryujinx.Tests/Audio/Renderer/Server/MixStateTests.cs index 6262913b4d..b93bb2ae1a 100644 --- a/src/Ryujinx.Tests/Audio/Renderer/Server/MixStateTests.cs +++ b/src/Ryujinx.Tests/Audio/Renderer/Server/MixStateTests.cs @@ -9,7 +9,7 @@ namespace Ryujinx.Tests.Audio.Renderer.Server [Test] public void EnsureTypeSize() { - Assert.AreEqual(0x940, Unsafe.SizeOf()); + Assert.That(0x940, Is.EqualTo(Unsafe.SizeOf())); } } } diff --git a/src/Ryujinx.Tests/Audio/Renderer/Server/PoolMapperTests.cs b/src/Ryujinx.Tests/Audio/Renderer/Server/PoolMapperTests.cs index d7879d6275..3e699e8e4f 100644 --- a/src/Ryujinx.Tests/Audio/Renderer/Server/PoolMapperTests.cs +++ b/src/Ryujinx.Tests/Audio/Renderer/Server/PoolMapperTests.cs @@ -23,12 +23,12 @@ namespace Ryujinx.Tests.Audio.Renderer.Server const DspAddress DspAddress = CpuAddress; // TODO: DSP LLE const ulong CpuSize = 0x1000; - Assert.IsFalse(poolMapper.InitializeSystemPool(ref memoryPoolCpu, CpuAddress, CpuSize)); - Assert.IsTrue(poolMapper.InitializeSystemPool(ref memoryPoolDsp, CpuAddress, CpuSize)); + Assert.That(poolMapper.InitializeSystemPool(ref memoryPoolCpu, CpuAddress, CpuSize), Is.False); + Assert.That(poolMapper.InitializeSystemPool(ref memoryPoolDsp, CpuAddress, CpuSize), Is.True); - Assert.AreEqual(CpuAddress, memoryPoolDsp.CpuAddress); - Assert.AreEqual(CpuSize, memoryPoolDsp.Size); - Assert.AreEqual(DspAddress, memoryPoolDsp.DspAddress); + Assert.That(CpuAddress, Is.EqualTo(memoryPoolDsp.CpuAddress)); + Assert.That(CpuSize, Is.EqualTo(memoryPoolDsp.Size)); + Assert.That(DspAddress, Is.EqualTo(memoryPoolDsp.DspAddress)); } [Test] @@ -38,8 +38,8 @@ namespace Ryujinx.Tests.Audio.Renderer.Server MemoryPoolState memoryPoolDsp = MemoryPoolState.Create(MemoryPoolState.LocationType.Dsp); MemoryPoolState memoryPoolCpu = MemoryPoolState.Create(MemoryPoolState.LocationType.Cpu); - Assert.AreEqual(0xFFFF8001, poolMapper.GetProcessHandle(ref memoryPoolCpu)); - Assert.AreEqual(DummyProcessHandle, poolMapper.GetProcessHandle(ref memoryPoolDsp)); + Assert.That(0xFFFF8001, Is.EqualTo(poolMapper.GetProcessHandle(ref memoryPoolCpu))); + Assert.That(DummyProcessHandle, Is.EqualTo(poolMapper.GetProcessHandle(ref memoryPoolDsp))); } [Test] @@ -56,15 +56,15 @@ namespace Ryujinx.Tests.Audio.Renderer.Server memoryPoolDsp.SetCpuAddress(CpuAddress, CpuSize); memoryPoolCpu.SetCpuAddress(CpuAddress, CpuSize); - Assert.AreEqual(DspAddress, poolMapper.Map(ref memoryPoolCpu)); - Assert.AreEqual(DspAddress, poolMapper.Map(ref memoryPoolDsp)); - Assert.AreEqual(DspAddress, memoryPoolDsp.DspAddress); - Assert.IsTrue(poolMapper.Unmap(ref memoryPoolCpu)); + Assert.That(DspAddress, Is.EqualTo(poolMapper.Map(ref memoryPoolCpu))); + Assert.That(DspAddress, Is.EqualTo(poolMapper.Map(ref memoryPoolDsp))); + Assert.That(DspAddress, Is.EqualTo(memoryPoolDsp.DspAddress)); + Assert.That(poolMapper.Unmap(ref memoryPoolCpu), Is.True); memoryPoolDsp.IsUsed = true; - Assert.IsFalse(poolMapper.Unmap(ref memoryPoolDsp)); + Assert.That(poolMapper.Unmap(ref memoryPoolDsp), Is.False); memoryPoolDsp.IsUsed = false; - Assert.IsTrue(poolMapper.Unmap(ref memoryPoolDsp)); + Assert.That(poolMapper.Unmap(ref memoryPoolDsp), Is.True); } [Test] @@ -90,45 +90,45 @@ namespace Ryujinx.Tests.Audio.Renderer.Server PoolMapper poolMapper = new(DummyProcessHandle, true); - Assert.IsTrue(poolMapper.TryAttachBuffer(out ErrorInfo errorInfo, ref addressInfo, 0, 0)); + Assert.That(poolMapper.TryAttachBuffer(out ErrorInfo errorInfo, ref addressInfo, 0, 0), Is.True); - Assert.AreEqual(ResultCode.InvalidAddressInfo, errorInfo.ErrorCode); - Assert.AreEqual(0, errorInfo.ExtraErrorInfo); - Assert.AreEqual(0, addressInfo.ForceMappedDspAddress); + Assert.That(ResultCode.InvalidAddressInfo, Is.EqualTo(errorInfo.ErrorCode)); + Assert.That(0, Is.EqualTo(errorInfo.ExtraErrorInfo)); + Assert.That(0, Is.EqualTo(addressInfo.ForceMappedDspAddress)); - Assert.IsTrue(poolMapper.TryAttachBuffer(out errorInfo, ref addressInfo, CpuAddress, CpuSize)); + Assert.That(poolMapper.TryAttachBuffer(out errorInfo, ref addressInfo, CpuAddress, CpuSize), Is.True); - Assert.AreEqual(ResultCode.InvalidAddressInfo, errorInfo.ErrorCode); - Assert.AreEqual(CpuAddress, errorInfo.ExtraErrorInfo); - Assert.AreEqual(DspAddress, addressInfo.ForceMappedDspAddress); + Assert.That(ResultCode.InvalidAddressInfo, Is.EqualTo(errorInfo.ErrorCode)); + Assert.That(CpuAddress, Is.EqualTo(errorInfo.ExtraErrorInfo)); + Assert.That(DspAddress, Is.EqualTo(addressInfo.ForceMappedDspAddress)); poolMapper = new PoolMapper(DummyProcessHandle, false); - Assert.IsFalse(poolMapper.TryAttachBuffer(out _, ref addressInfo, 0, 0)); + Assert.That(poolMapper.TryAttachBuffer(out _, ref addressInfo, 0, 0), Is.False); addressInfo.ForceMappedDspAddress = 0; - Assert.IsFalse(poolMapper.TryAttachBuffer(out errorInfo, ref addressInfo, CpuAddress, CpuSize)); + Assert.That(poolMapper.TryAttachBuffer(out errorInfo, ref addressInfo, CpuAddress, CpuSize), Is.False); - Assert.AreEqual(ResultCode.InvalidAddressInfo, errorInfo.ErrorCode); - Assert.AreEqual(CpuAddress, errorInfo.ExtraErrorInfo); - Assert.AreEqual(0, addressInfo.ForceMappedDspAddress); + Assert.That(ResultCode.InvalidAddressInfo, Is.EqualTo(errorInfo.ErrorCode)); + Assert.That(CpuAddress, Is.EqualTo(errorInfo.ExtraErrorInfo)); + Assert.That(0, Is.EqualTo(addressInfo.ForceMappedDspAddress)); poolMapper = new PoolMapper(DummyProcessHandle, memoryPoolStateArray.AsMemory(), false); - Assert.IsFalse(poolMapper.TryAttachBuffer(out errorInfo, ref addressInfo, CpuAddressRegionEnding, CpuSize)); + Assert.That(poolMapper.TryAttachBuffer(out errorInfo, ref addressInfo, CpuAddressRegionEnding, CpuSize), Is.False); - Assert.AreEqual(ResultCode.InvalidAddressInfo, errorInfo.ErrorCode); - Assert.AreEqual(CpuAddressRegionEnding, errorInfo.ExtraErrorInfo); - Assert.AreEqual(0, addressInfo.ForceMappedDspAddress); - Assert.IsFalse(addressInfo.HasMemoryPoolState); + Assert.That(ResultCode.InvalidAddressInfo, Is.EqualTo(errorInfo.ErrorCode)); + Assert.That(CpuAddressRegionEnding, Is.EqualTo(errorInfo.ExtraErrorInfo)); + Assert.That(0, Is.EqualTo(addressInfo.ForceMappedDspAddress)); + Assert.That(addressInfo.HasMemoryPoolState, Is.False); - Assert.IsTrue(poolMapper.TryAttachBuffer(out errorInfo, ref addressInfo, CpuAddress, CpuSize)); + Assert.That(poolMapper.TryAttachBuffer(out errorInfo, ref addressInfo, CpuAddress, CpuSize), Is.True); - Assert.AreEqual(ResultCode.Success, errorInfo.ErrorCode); - Assert.AreEqual(0, errorInfo.ExtraErrorInfo); - Assert.AreEqual(0, addressInfo.ForceMappedDspAddress); - Assert.IsTrue(addressInfo.HasMemoryPoolState); + Assert.That(ResultCode.Success, Is.EqualTo(errorInfo.ErrorCode)); + Assert.That(0, Is.EqualTo(errorInfo.ExtraErrorInfo)); + Assert.That(0, Is.EqualTo(addressInfo.ForceMappedDspAddress)); + Assert.That(addressInfo.HasMemoryPoolState, Is.True); } } } diff --git a/src/Ryujinx.Tests/Audio/Renderer/Server/SplitterDestinationTests.cs b/src/Ryujinx.Tests/Audio/Renderer/Server/SplitterDestinationTests.cs index 80b801336e..50a90500af 100644 --- a/src/Ryujinx.Tests/Audio/Renderer/Server/SplitterDestinationTests.cs +++ b/src/Ryujinx.Tests/Audio/Renderer/Server/SplitterDestinationTests.cs @@ -9,8 +9,8 @@ namespace Ryujinx.Tests.Audio.Renderer.Server [Test] public void EnsureTypeSize() { - Assert.AreEqual(0xE0, Unsafe.SizeOf()); - Assert.AreEqual(0x110, Unsafe.SizeOf()); + Assert.That(0xE0, Is.EqualTo(Unsafe.SizeOf())); + Assert.That(0x110, Is.EqualTo(Unsafe.SizeOf())); } } } diff --git a/src/Ryujinx.Tests/Audio/Renderer/Server/SplitterStateTests.cs b/src/Ryujinx.Tests/Audio/Renderer/Server/SplitterStateTests.cs index 0421bd9d19..9c9a717a8c 100644 --- a/src/Ryujinx.Tests/Audio/Renderer/Server/SplitterStateTests.cs +++ b/src/Ryujinx.Tests/Audio/Renderer/Server/SplitterStateTests.cs @@ -9,7 +9,7 @@ namespace Ryujinx.Tests.Audio.Renderer.Server [Test] public void EnsureTypeSize() { - Assert.AreEqual(0x20, Unsafe.SizeOf()); + Assert.That(0x20, Is.EqualTo(Unsafe.SizeOf())); } } } diff --git a/src/Ryujinx.Tests/Audio/Renderer/Server/VoiceChannelResourceTests.cs b/src/Ryujinx.Tests/Audio/Renderer/Server/VoiceChannelResourceTests.cs index 565ac7a69e..af2f409dbb 100644 --- a/src/Ryujinx.Tests/Audio/Renderer/Server/VoiceChannelResourceTests.cs +++ b/src/Ryujinx.Tests/Audio/Renderer/Server/VoiceChannelResourceTests.cs @@ -9,7 +9,7 @@ namespace Ryujinx.Tests.Audio.Renderer.Server [Test] public void EnsureTypeSize() { - Assert.AreEqual(0xD0, Unsafe.SizeOf()); + Assert.That(0xD0, Is.EqualTo(Unsafe.SizeOf())); } } } diff --git a/src/Ryujinx.Tests/Audio/Renderer/Server/VoiceStateTests.cs b/src/Ryujinx.Tests/Audio/Renderer/Server/VoiceStateTests.cs index dbd6eff8f9..9d46d742b2 100644 --- a/src/Ryujinx.Tests/Audio/Renderer/Server/VoiceStateTests.cs +++ b/src/Ryujinx.Tests/Audio/Renderer/Server/VoiceStateTests.cs @@ -9,7 +9,7 @@ namespace Ryujinx.Tests.Audio.Renderer.Server [Test] public void EnsureTypeSize() { - Assert.LessOrEqual(Unsafe.SizeOf(), 0x220); + Assert.That(Unsafe.SizeOf(), Is.LessThanOrEqualTo(0x220)); } } } diff --git a/src/Ryujinx.Tests/Audio/Renderer/Server/WaveBufferTests.cs b/src/Ryujinx.Tests/Audio/Renderer/Server/WaveBufferTests.cs index 0e2ed0e858..18ebac0acc 100644 --- a/src/Ryujinx.Tests/Audio/Renderer/Server/WaveBufferTests.cs +++ b/src/Ryujinx.Tests/Audio/Renderer/Server/WaveBufferTests.cs @@ -9,7 +9,7 @@ namespace Ryujinx.Tests.Audio.Renderer.Server [Test] public void EnsureTypeSize() { - Assert.AreEqual(0x58, Unsafe.SizeOf()); + Assert.That(0x58, Is.EqualTo(Unsafe.SizeOf())); } } } diff --git a/src/Ryujinx.Tests/Audio/Renderer/VoiceChannelResourceInParameterTests.cs b/src/Ryujinx.Tests/Audio/Renderer/VoiceChannelResourceInParameterTests.cs index 2bcfd32c3a..586c71463a 100644 --- a/src/Ryujinx.Tests/Audio/Renderer/VoiceChannelResourceInParameterTests.cs +++ b/src/Ryujinx.Tests/Audio/Renderer/VoiceChannelResourceInParameterTests.cs @@ -9,7 +9,7 @@ namespace Ryujinx.Tests.Audio.Renderer [Test] public void EnsureTypeSize() { - Assert.AreEqual(0x70, Unsafe.SizeOf()); + Assert.That(0x70, Is.EqualTo(Unsafe.SizeOf())); } } } diff --git a/src/Ryujinx.Tests/Audio/Renderer/VoiceInParameterTests.cs b/src/Ryujinx.Tests/Audio/Renderer/VoiceInParameterTests.cs index 239da195a0..20cb9b69e8 100644 --- a/src/Ryujinx.Tests/Audio/Renderer/VoiceInParameterTests.cs +++ b/src/Ryujinx.Tests/Audio/Renderer/VoiceInParameterTests.cs @@ -9,7 +9,7 @@ namespace Ryujinx.Tests.Audio.Renderer [Test] public void EnsureTypeSize() { - Assert.AreEqual(0x170, Unsafe.SizeOf()); + Assert.That(0x170, Is.EqualTo(Unsafe.SizeOf())); } } } diff --git a/src/Ryujinx.Tests/Audio/Renderer/VoiceOutStatusTests.cs b/src/Ryujinx.Tests/Audio/Renderer/VoiceOutStatusTests.cs index 1579d89b51..74f49fa5d5 100644 --- a/src/Ryujinx.Tests/Audio/Renderer/VoiceOutStatusTests.cs +++ b/src/Ryujinx.Tests/Audio/Renderer/VoiceOutStatusTests.cs @@ -9,7 +9,7 @@ namespace Ryujinx.Tests.Audio.Renderer [Test] public void EnsureTypeSize() { - Assert.AreEqual(0x10, Unsafe.SizeOf()); + Assert.That(0x10, Is.EqualTo(Unsafe.SizeOf())); } } } diff --git a/src/Ryujinx.Tests/Common/Extensions/SequenceReaderExtensionsTests.cs b/src/Ryujinx.Tests/Common/Extensions/SequenceReaderExtensionsTests.cs index c0127530af..d913482bcc 100644 --- a/src/Ryujinx.Tests/Common/Extensions/SequenceReaderExtensionsTests.cs +++ b/src/Ryujinx.Tests/Common/Extensions/SequenceReaderExtensionsTests.cs @@ -31,7 +31,7 @@ namespace Ryujinx.Tests.Common.Extensions ref readonly MyUnmanagedStruct read = ref sequenceReader.GetRefOrRefToCopy(out _); // Assert - MyUnmanagedStruct.Assert(Assert.AreEqual, original, read); + MyUnmanagedStruct.Assert((expected, actual) => Assert.That(expected, Is.EqualTo(actual)), original, read); } } @@ -51,8 +51,8 @@ namespace Ryujinx.Tests.Common.Extensions ref readonly MyUnmanagedStruct read = ref sequenceReader.GetRefOrRefToCopy(out var copy); // Assert - MyUnmanagedStruct.Assert(Assert.AreEqual, original, read); - MyUnmanagedStruct.Assert(Assert.AreEqual, read, copy); + MyUnmanagedStruct.Assert((expected, actual) => Assert.That(expected, Is.EqualTo(actual)), original, read); + MyUnmanagedStruct.Assert((expected, actual) => Assert.That(expected, Is.EqualTo(actual)), read, copy); } } @@ -72,8 +72,8 @@ namespace Ryujinx.Tests.Common.Extensions ref readonly MyUnmanagedStruct read = ref sequenceReader.GetRefOrRefToCopy(out var copy); // Assert - MyUnmanagedStruct.Assert(Assert.AreEqual, original, read); - MyUnmanagedStruct.Assert(Assert.AreNotEqual, read, copy); + MyUnmanagedStruct.Assert((expected, actual) => Assert.That(expected, Is.EqualTo(actual)), original, read); + MyUnmanagedStruct.Assert((expected, actual) => Assert.That(expected, Is.Not.EqualTo(actual)), read, copy); } } @@ -112,7 +112,7 @@ namespace Ryujinx.Tests.Common.Extensions sequenceReader.ReadLittleEndian(out int roundTrippedValue); // Assert - Assert.AreEqual(TestValue, roundTrippedValue); + Assert.That(TestValue, Is.EqualTo(roundTrippedValue)); } [Test] @@ -131,7 +131,7 @@ namespace Ryujinx.Tests.Common.Extensions sequenceReader.ReadLittleEndian(out int roundTrippedValue); // Assert - Assert.AreNotEqual(TestValue, roundTrippedValue); + Assert.That(TestValue, Is.Not.EqualTo(roundTrippedValue)); } [Test] @@ -221,7 +221,7 @@ namespace Ryujinx.Tests.Common.Extensions sequenceReader.ReadUnmanaged(out MyUnmanagedStruct read); // Assert - MyUnmanagedStruct.Assert(Assert.AreEqual, original, read); + MyUnmanagedStruct.Assert((expected, actual) => Assert.That(expected, Is.EqualTo(actual)), original, read); } } @@ -237,19 +237,19 @@ namespace Ryujinx.Tests.Common.Extensions static void SetConsumedAndAssert(scoped ref SequenceReader sequenceReader, long consumed) { sequenceReader.SetConsumed(consumed); - Assert.AreEqual(consumed, sequenceReader.Consumed); + Assert.That(consumed, Is.EqualTo(sequenceReader.Consumed)); } // Act/Assert ref readonly MyUnmanagedStruct struct0A = ref sequenceReader.GetRefOrRefToCopy(out _); - Assert.AreEqual(sequenceReader.Consumed, MyUnmanagedStruct.SizeOf); + Assert.That(sequenceReader.Consumed, Is.EqualTo(MyUnmanagedStruct.SizeOf)); SetConsumedAndAssert(ref sequenceReader, 0); ref readonly MyUnmanagedStruct struct0B = ref sequenceReader.GetRefOrRefToCopy(out _); - MyUnmanagedStruct.Assert(Assert.AreEqual, struct0A, struct0B); + MyUnmanagedStruct.Assert((expected, actual) => Assert.That(expected, Is.EqualTo(actual)), struct0A, struct0B); SetConsumedAndAssert(ref sequenceReader, 1); @@ -261,7 +261,7 @@ namespace Ryujinx.Tests.Common.Extensions ref readonly MyUnmanagedStruct struct1B = ref sequenceReader.GetRefOrRefToCopy(out _); - MyUnmanagedStruct.Assert(Assert.AreEqual, struct1A, struct1B); + MyUnmanagedStruct.Assert((expected, actual) => Assert.That(expected, Is.EqualTo(actual)), struct1A, struct1B); } [StructLayout(LayoutKind.Sequential, Pack = 1)] diff --git a/src/Ryujinx.Tests/Cpu/EnvironmentTests.cs b/src/Ryujinx.Tests/Cpu/EnvironmentTests.cs index 2a4775a319..2957b38b87 100644 --- a/src/Ryujinx.Tests/Cpu/EnvironmentTests.cs +++ b/src/Ryujinx.Tests/Cpu/EnvironmentTests.cs @@ -43,7 +43,7 @@ namespace Ryujinx.Tests.Cpu // Subnormal results are not flushed to zero by default. // This operation should not be allowed to do constant propagation, hence the methods that explicitly disallow inlining. - Assert.AreNotEqual(GetDenormal() + GetZero(), 0f); + Assert.That(GetDenormal() + GetZero(), Is.Not.EqualTo(0f)); bool methodCalled = false; bool isFz = false; @@ -56,11 +56,11 @@ namespace Ryujinx.Tests.Cpu int result = method(Marshal.GetFunctionPointerForDelegate(ManagedMethod)); // Subnormal results are not flushed to zero by default, which we should have returned to exiting the method. - Assert.AreNotEqual(GetDenormal() + GetZero(), 0f); + Assert.That(GetDenormal() + GetZero(), Is.Not.EqualTo(0f)); - Assert.True(result == 0); - Assert.True(methodCalled); - Assert.True(isFz); + Assert.That(result, Is.EqualTo(0)); + Assert.That(methodCalled, Is.True); + Assert.That(isFz, Is.True); return; void ManagedMethod() diff --git a/src/Ryujinx.Tests/HLE/SoftwareKeyboardTests.cs b/src/Ryujinx.Tests/HLE/SoftwareKeyboardTests.cs index 79ca2d480b..5ae70c5bab 100644 --- a/src/Ryujinx.Tests/HLE/SoftwareKeyboardTests.cs +++ b/src/Ryujinx.Tests/HLE/SoftwareKeyboardTests.cs @@ -9,13 +9,13 @@ namespace Ryujinx.Tests.HLE [Test] public void StripUnicodeControlCodes_NullInput() { - Assert.IsNull(SoftwareKeyboardApplet.StripUnicodeControlCodes(null)); + Assert.That(SoftwareKeyboardApplet.StripUnicodeControlCodes(null), Is.Null); } [Test] public void StripUnicodeControlCodes_EmptyInput() { - Assert.AreEqual(string.Empty, SoftwareKeyboardApplet.StripUnicodeControlCodes(string.Empty)); + Assert.That(string.Empty, Is.EqualTo(SoftwareKeyboardApplet.StripUnicodeControlCodes(string.Empty))); } [Test] @@ -34,14 +34,14 @@ namespace Ryujinx.Tests.HLE foreach (string prompt in prompts) { - Assert.AreEqual(prompt, SoftwareKeyboardApplet.StripUnicodeControlCodes(prompt)); + Assert.That(prompt, Is.EqualTo(SoftwareKeyboardApplet.StripUnicodeControlCodes(prompt))); } } [Test] public void StripUnicodeControlCodes_StripsNewlines() { - Assert.AreEqual("I am very tall", SoftwareKeyboardApplet.StripUnicodeControlCodes("I \r\nam \r\nvery \r\ntall")); + Assert.That("I am very tall", Is.EqualTo(SoftwareKeyboardApplet.StripUnicodeControlCodes("I \r\nam \r\nvery \r\ntall"))); } [Test] @@ -49,14 +49,14 @@ namespace Ryujinx.Tests.HLE { // 0x13 is control code DC3 used by some games string specialInput = Encoding.UTF8.GetString(new byte[] { 0x13, 0x53, 0x68, 0x69, 0x6E, 0x65, 0x13 }); - Assert.AreEqual("Shine", SoftwareKeyboardApplet.StripUnicodeControlCodes(specialInput)); + Assert.That("Shine", Is.EqualTo(SoftwareKeyboardApplet.StripUnicodeControlCodes(specialInput))); } [Test] public void StripUnicodeControlCodes_StripsToEmptyString() { string specialInput = Encoding.UTF8.GetString(new byte[] { 17, 18, 19, 20 }); // DC1 - DC4 special codes - Assert.AreEqual(string.Empty, SoftwareKeyboardApplet.StripUnicodeControlCodes(specialInput)); + Assert.That(string.Empty, Is.EqualTo(SoftwareKeyboardApplet.StripUnicodeControlCodes(specialInput))); } [Test] @@ -64,7 +64,7 @@ namespace Ryujinx.Tests.HLE { // Turtles are a good example of multi-codepoint Unicode chars string specialInput = "♀ 🐢 🐢 ♂ "; - Assert.AreEqual(specialInput, SoftwareKeyboardApplet.StripUnicodeControlCodes(specialInput)); + Assert.That(specialInput, Is.EqualTo(SoftwareKeyboardApplet.StripUnicodeControlCodes(specialInput))); } } } diff --git a/src/Ryujinx.Tests/Memory/PartialUnmaps.cs b/src/Ryujinx.Tests/Memory/PartialUnmaps.cs index ace68e5c24..18c7cbfe53 100644 --- a/src/Ryujinx.Tests/Memory/PartialUnmaps.cs +++ b/src/Ryujinx.Tests/Memory/PartialUnmaps.cs @@ -154,13 +154,13 @@ namespace Ryujinx.Tests.Memory if (OperatingSystem.IsWindows()) { // One thread should be present on the thread local map. Trimming should remove it. - Assert.AreEqual(1, CountThreads(ref state)); + Assert.That(1, Is.EqualTo(CountThreads(ref state))); } shouldAccess = false; testThread.Join(); - Assert.False(error); + Assert.That(error, Is.False); string test = null; @@ -177,7 +177,7 @@ namespace Ryujinx.Tests.Memory { state.TrimThreads(); - Assert.AreEqual(0, CountThreads(ref state)); + Assert.That(0, Is.EqualTo(CountThreads(ref state))); } /* @@ -267,7 +267,7 @@ namespace Ryujinx.Tests.Memory writeLoopState.Running = 0; testThread.Join(); - Assert.False(writeLoopState.Error != 0); + Assert.That(writeLoopState.Error != 0, Is.False); } finally { @@ -302,11 +302,11 @@ namespace Ryujinx.Tests.Memory testThread.Start(); Thread.Sleep(200); - Assert.AreEqual(1, CountThreads(ref state)); + Assert.That(1, Is.EqualTo(CountThreads(ref state))); // Trimming should not remove the thread as it's still active. state.TrimThreads(); - Assert.AreEqual(1, CountThreads(ref state)); + Assert.That(1, Is.EqualTo(CountThreads(ref state))); running = false; @@ -314,7 +314,7 @@ namespace Ryujinx.Tests.Memory // Should trim now that it's inactive. state.TrimThreads(); - Assert.AreEqual(0, CountThreads(ref state)); + Assert.That(0, Is.EqualTo(CountThreads(ref state))); } [Test] @@ -335,35 +335,35 @@ namespace Ryujinx.Tests.Memory for (int i = 0; i < ThreadLocalMap.MapSize; i++) { // Should obtain the index matching the call #. - Assert.AreEqual(i, getOrReserve(i + 1, i)); + Assert.That(i, Is.EqualTo(getOrReserve(i + 1, i))); // Check that this and all previously reserved thread IDs and struct contents are intact. for (int j = 0; j <= i; j++) { - Assert.AreEqual(j + 1, state.LocalCounts.ThreadIds[j]); - Assert.AreEqual(j, state.LocalCounts.Structs[j]); + Assert.That(j + 1, Is.EqualTo(state.LocalCounts.ThreadIds[j])); + Assert.That(j, Is.EqualTo(state.LocalCounts.Structs[j])); } } // Trying to reserve again when the map is full should return -1. - Assert.AreEqual(-1, getOrReserve(200, 0)); + Assert.That(-1, Is.EqualTo(getOrReserve(200, 0))); for (int i = 0; i < ThreadLocalMap.MapSize; i++) { // Should obtain the index matching the call #, as it already exists. - Assert.AreEqual(i, getOrReserve(i + 1, -1)); + Assert.That(i, Is.EqualTo(getOrReserve(i + 1, -1))); // The struct should not be reset to -1. - Assert.AreEqual(i, state.LocalCounts.Structs[i]); + Assert.That(i, Is.EqualTo(state.LocalCounts.Structs[i])); } // Clear one of the ids as if it were freed. state.LocalCounts.ThreadIds[13] = 0; // GetOrReserve should now obtain and return 13. - Assert.AreEqual(13, getOrReserve(300, 301)); - Assert.AreEqual(300, state.LocalCounts.ThreadIds[13]); - Assert.AreEqual(301, state.LocalCounts.Structs[13]); + Assert.That(13, Is.EqualTo(getOrReserve(300, 301))); + Assert.That(300, Is.EqualTo(state.LocalCounts.ThreadIds[13])); + Assert.That(301, Is.EqualTo(state.LocalCounts.Structs[13])); } } @@ -462,7 +462,7 @@ namespace Ryujinx.Tests.Memory thread.Join(); } - Assert.False(error); + Assert.That(error, Is.False); } } } diff --git a/src/Ryujinx.Tests/Time/TimeZoneRuleTests.cs b/src/Ryujinx.Tests/Time/TimeZoneRuleTests.cs index 8448309ee4..05ba1537a4 100644 --- a/src/Ryujinx.Tests/Time/TimeZoneRuleTests.cs +++ b/src/Ryujinx.Tests/Time/TimeZoneRuleTests.cs @@ -11,7 +11,7 @@ namespace Ryujinx.Tests.Time [Test] public void EnsureTypeSize() { - Assert.AreEqual(0x4000, Unsafe.SizeOf()); + Assert.That(0x4000, Is.EqualTo(Unsafe.SizeOf())); } } } diff --git a/src/Ryujinx.Tests/TreeDictionaryTests.cs b/src/Ryujinx.Tests/TreeDictionaryTests.cs index ea9fb07312..bbcfcbffdb 100644 --- a/src/Ryujinx.Tests/TreeDictionaryTests.cs +++ b/src/Ryujinx.Tests/TreeDictionaryTests.cs @@ -3,7 +3,7 @@ using Ryujinx.Common.Collections; using System; using System.Collections.Generic; -namespace Ryujinx.Tests.Collections +namespace Ryujinx.Tests { class TreeDictionaryTests { @@ -12,7 +12,7 @@ namespace Ryujinx.Tests.Collections { TreeDictionary dictionary = new(); - Assert.AreEqual(dictionary.Count, 0); + Assert.That(dictionary.Count, Is.EqualTo(0)); dictionary.Add(2, 7); dictionary.Add(1, 4); @@ -22,7 +22,7 @@ namespace Ryujinx.Tests.Collections dictionary.Add(11, 2); dictionary.Add(5, 2); - Assert.AreEqual(dictionary.Count, 7); + Assert.That(dictionary.Count, Is.EqualTo(7)); List> list = dictionary.AsLevelOrderList(); @@ -36,14 +36,14 @@ namespace Ryujinx.Tests.Collections * */ - Assert.AreEqual(list.Count, dictionary.Count); - Assert.AreEqual(list[0].Key, 2); - Assert.AreEqual(list[1].Key, 1); - Assert.AreEqual(list[2].Key, 4); - Assert.AreEqual(list[3].Key, 3); - Assert.AreEqual(list[4].Key, 10); - Assert.AreEqual(list[5].Key, 5); - Assert.AreEqual(list[6].Key, 11); + Assert.That(list.Count, Is.EqualTo(dictionary.Count)); + Assert.That(list[0].Key, Is.EqualTo(2)); + Assert.That(list[1].Key, Is.EqualTo(1)); + Assert.That(list[2].Key, Is.EqualTo(4)); + Assert.That(list[3].Key, Is.EqualTo(3)); + Assert.That(list[4].Key, Is.EqualTo(10)); + Assert.That(list[5].Key, Is.EqualTo(5)); + Assert.That(list[6].Key, Is.EqualTo(11)); } [Test] @@ -51,7 +51,7 @@ namespace Ryujinx.Tests.Collections { TreeDictionary dictionary = new(); - Assert.AreEqual(dictionary.Count, 0); + Assert.That(dictionary.Count, Is.EqualTo(0)); dictionary.Add(2, 7); dictionary.Add(1, 4); @@ -66,7 +66,7 @@ namespace Ryujinx.Tests.Collections dictionary.Add(13, 2); dictionary.Add(24, 2); dictionary.Add(6, 2); - Assert.AreEqual(dictionary.Count, 13); + Assert.That(dictionary.Count, Is.EqualTo(13)); List> list = dictionary.AsLevelOrderList(); @@ -84,20 +84,20 @@ namespace Ryujinx.Tests.Collections { Console.WriteLine($"{node.Key} -> {node.Value}"); } - Assert.AreEqual(list.Count, dictionary.Count); - Assert.AreEqual(list[0].Key, 4); - Assert.AreEqual(list[1].Key, 2); - Assert.AreEqual(list[2].Key, 10); - Assert.AreEqual(list[3].Key, 1); - Assert.AreEqual(list[4].Key, 3); - Assert.AreEqual(list[5].Key, 7); - Assert.AreEqual(list[6].Key, 13); - Assert.AreEqual(list[7].Key, 5); - Assert.AreEqual(list[8].Key, 9); - Assert.AreEqual(list[9].Key, 11); - Assert.AreEqual(list[10].Key, 24); - Assert.AreEqual(list[11].Key, 6); - Assert.AreEqual(list[12].Key, 8); + Assert.That(list.Count, Is.EqualTo(dictionary.Count)); + Assert.That(list[0].Key, Is.EqualTo(4)); + Assert.That(list[1].Key, Is.EqualTo(2)); + Assert.That(list[2].Key, Is.EqualTo(10)); + Assert.That(list[3].Key, Is.EqualTo(1)); + Assert.That(list[4].Key, Is.EqualTo(3)); + Assert.That(list[5].Key, Is.EqualTo(7)); + Assert.That(list[6].Key, Is.EqualTo(13)); + Assert.That(list[7].Key, Is.EqualTo(5)); + Assert.That(list[8].Key, Is.EqualTo(9)); + Assert.That(list[9].Key, Is.EqualTo(11)); + Assert.That(list[10].Key, Is.EqualTo(24)); + Assert.That(list[11].Key, Is.EqualTo(6)); + Assert.That(list[12].Key, Is.EqualTo(8)); list.Clear(); @@ -118,18 +118,18 @@ namespace Ryujinx.Tests.Collections { Console.WriteLine($"{node.Key} -> {node.Value}"); } - Assert.AreEqual(list[0].Key, 4); - Assert.AreEqual(list[1].Key, 2); - Assert.AreEqual(list[2].Key, 10); - Assert.AreEqual(list[3].Key, 1); - Assert.AreEqual(list[4].Key, 3); - Assert.AreEqual(list[5].Key, 6); - Assert.AreEqual(list[6].Key, 13); - Assert.AreEqual(list[7].Key, 5); - Assert.AreEqual(list[8].Key, 9); - Assert.AreEqual(list[9].Key, 11); - Assert.AreEqual(list[10].Key, 24); - Assert.AreEqual(list[11].Key, 8); + Assert.That(list[0].Key, Is.EqualTo(4)); + Assert.That(list[1].Key, Is.EqualTo(2)); + Assert.That(list[2].Key, Is.EqualTo(10)); + Assert.That(list[3].Key, Is.EqualTo(1)); + Assert.That(list[4].Key, Is.EqualTo(3)); + Assert.That(list[5].Key, Is.EqualTo(6)); + Assert.That(list[6].Key, Is.EqualTo(13)); + Assert.That(list[7].Key, Is.EqualTo(5)); + Assert.That(list[8].Key, Is.EqualTo(9)); + Assert.That(list[9].Key, Is.EqualTo(11)); + Assert.That(list[10].Key, Is.EqualTo(24)); + Assert.That(list[11].Key, Is.EqualTo(8)); list.Clear(); @@ -149,17 +149,17 @@ namespace Ryujinx.Tests.Collections { Console.WriteLine($"{node.Key} -> {node.Value}"); } - Assert.AreEqual(list[0].Key, 4); - Assert.AreEqual(list[1].Key, 2); - Assert.AreEqual(list[2].Key, 9); - Assert.AreEqual(list[3].Key, 1); - Assert.AreEqual(list[4].Key, 3); - Assert.AreEqual(list[5].Key, 6); - Assert.AreEqual(list[6].Key, 13); - Assert.AreEqual(list[7].Key, 5); - Assert.AreEqual(list[8].Key, 8); - Assert.AreEqual(list[9].Key, 11); - Assert.AreEqual(list[10].Key, 24); + Assert.That(list[0].Key, Is.EqualTo(4)); + Assert.That(list[1].Key, Is.EqualTo(2)); + Assert.That(list[2].Key, Is.EqualTo(9)); + Assert.That(list[3].Key, Is.EqualTo(1)); + Assert.That(list[4].Key, Is.EqualTo(3)); + Assert.That(list[5].Key, Is.EqualTo(6)); + Assert.That(list[6].Key, Is.EqualTo(13)); + Assert.That(list[7].Key, Is.EqualTo(5)); + Assert.That(list[8].Key, Is.EqualTo(8)); + Assert.That(list[9].Key, Is.EqualTo(11)); + Assert.That(list[10].Key, Is.EqualTo(24)); } [Test] @@ -167,7 +167,7 @@ namespace Ryujinx.Tests.Collections { TreeDictionary dictionary = new(); - Assert.AreEqual(dictionary.Count, 0); + Assert.That(dictionary.Count, Is.EqualTo(0)); dictionary.Add(2, 7); dictionary.Add(1, 4); @@ -182,7 +182,7 @@ namespace Ryujinx.Tests.Collections dictionary.Add(13, 2); dictionary.Add(24, 2); dictionary.Add(6, 2); - Assert.AreEqual(dictionary.Count, 13); + Assert.That(dictionary.Count, Is.EqualTo(13)); List> list = dictionary.AsLevelOrderList(); @@ -201,44 +201,44 @@ namespace Ryujinx.Tests.Collections * 6 8 */ - Assert.AreEqual(list.Count, dictionary.Count); - Assert.AreEqual(list[0].Key, 4); - Assert.AreEqual(list[1].Key, 2); - Assert.AreEqual(list[2].Key, 10); - Assert.AreEqual(list[3].Key, 1); - Assert.AreEqual(list[4].Key, 3); - Assert.AreEqual(list[5].Key, 7); - Assert.AreEqual(list[6].Key, 13); - Assert.AreEqual(list[7].Key, 5); - Assert.AreEqual(list[8].Key, 9); - Assert.AreEqual(list[9].Key, 11); - Assert.AreEqual(list[10].Key, 24); - Assert.AreEqual(list[11].Key, 6); - Assert.AreEqual(list[12].Key, 8); + Assert.That(list.Count, Is.EqualTo(dictionary.Count)); + Assert.That(list[0].Key, Is.EqualTo(4)); + Assert.That(list[1].Key, Is.EqualTo(2)); + Assert.That(list[2].Key, Is.EqualTo(10)); + Assert.That(list[3].Key, Is.EqualTo(1)); + Assert.That(list[4].Key, Is.EqualTo(3)); + Assert.That(list[5].Key, Is.EqualTo(7)); + Assert.That(list[6].Key, Is.EqualTo(13)); + Assert.That(list[7].Key, Is.EqualTo(5)); + Assert.That(list[8].Key, Is.EqualTo(9)); + Assert.That(list[9].Key, Is.EqualTo(11)); + Assert.That(list[10].Key, Is.EqualTo(24)); + Assert.That(list[11].Key, Is.EqualTo(6)); + Assert.That(list[12].Key, Is.EqualTo(8)); - Assert.AreEqual(list[4].Value, 2); + Assert.That(list[4].Value, Is.EqualTo(2)); dictionary.Add(3, 4); list = dictionary.AsLevelOrderList(); - Assert.AreEqual(list[4].Value, 4); + Assert.That(list[4].Value, Is.EqualTo(4)); // Assure that none of the nodes locations have been modified. - Assert.AreEqual(list[0].Key, 4); - Assert.AreEqual(list[1].Key, 2); - Assert.AreEqual(list[2].Key, 10); - Assert.AreEqual(list[3].Key, 1); - Assert.AreEqual(list[4].Key, 3); - Assert.AreEqual(list[5].Key, 7); - Assert.AreEqual(list[6].Key, 13); - Assert.AreEqual(list[7].Key, 5); - Assert.AreEqual(list[8].Key, 9); - Assert.AreEqual(list[9].Key, 11); - Assert.AreEqual(list[10].Key, 24); - Assert.AreEqual(list[11].Key, 6); - Assert.AreEqual(list[12].Key, 8); + Assert.That(list[0].Key, Is.EqualTo(4)); + Assert.That(list[1].Key, Is.EqualTo(2)); + Assert.That(list[2].Key, Is.EqualTo(10)); + Assert.That(list[3].Key, Is.EqualTo(1)); + Assert.That(list[4].Key, Is.EqualTo(3)); + Assert.That(list[5].Key, Is.EqualTo(7)); + Assert.That(list[6].Key, Is.EqualTo(13)); + Assert.That(list[7].Key, Is.EqualTo(5)); + Assert.That(list[8].Key, Is.EqualTo(9)); + Assert.That(list[9].Key, Is.EqualTo(11)); + Assert.That(list[10].Key, Is.EqualTo(24)); + Assert.That(list[11].Key, Is.EqualTo(6)); + Assert.That(list[12].Key, Is.EqualTo(8)); } } }