Files
sbox-public/engine/Sandbox.Test/Engine/Audio.cs
Lorenz Junglas 236b95e0ed Disposable diagnostic (#3693)
* Enable CA2000 in editorconfig

* Remove unused CaptureStdOut class

* Add missing dispose calls in Sandbox.Tools

* Add missing dispose calls in tests

* Add missing dispose calls in launchers

* Add missing dispose calls in Topten.RichtTextKit

* Add missing dispose calls in Engine

* Add missing dispose calls in SboxBuild

* Add nullchecks to a few dispose calls

* Fix more missing disposal calls and leaks

* Disable CA2000 for Textures

* Fix disposing too early in ImageFileTextureGenerator

* Fix disposing codec, ownership is transferred to animation

* Add missing using in ByteStream benchmark
2026-01-12 21:59:15 +01:00

69 lines
1.4 KiB
C#

using Sandbox.Audio;
namespace Engine;
[TestClass]
public class Audio
{
[TestMethod]
public void Silence()
{
using var buffer = new MixBuffer();
buffer.RandomFill();
Assert.AreNotEqual( 0, buffer.LevelMax );
buffer.Silence();
Assert.AreEqual( 0, buffer.LevelMax );
}
[TestMethod]
public void LevelMax()
{
using var buffer = new MixBuffer();
buffer.RandomFill();
Assert.AreEqual( buffer.LevelMax, buffer.Buffer.ToArray().Max() );
}
[TestMethod]
public void LevelAvg()
{
using var buffer = new MixBuffer();
buffer.RandomFill();
Assert.AreEqual( buffer.LevelAvg, buffer.Buffer.ToArray().Average(), 0.001f );
}
[TestMethod]
public void Copy()
{
using var buffer = new MixBuffer();
using var bufferTarget = new MixBuffer();
bufferTarget.Silence();
Assert.IsTrue( bufferTarget.LevelAvg == 0 );
buffer.RandomFill();
Assert.IsFalse( buffer.LevelAvg == 0 );
bufferTarget.CopyFrom( buffer );
Assert.AreEqual( buffer.LevelAvg, bufferTarget.LevelAvg, 0.001f );
}
[TestMethod]
public void MixFrom()
{
using var buffer = new MixBuffer();
using var bufferTarget = new MixBuffer();
bufferTarget.Silence();
Assert.IsTrue( bufferTarget.LevelAvg == 0 );
buffer.RandomFill();
Assert.IsFalse( buffer.LevelAvg == 0 );
bufferTarget.MixFrom( buffer, 0.5f );
Assert.AreEqual( buffer.LevelAvg * 0.5f, bufferTarget.LevelAvg, 0.001f );
}
}