mirror of
https://github.com/Facepunch/sbox-public.git
synced 2026-08-01 08:18:20 -04:00
* Move all unit tests to Engine/Tests * Fix Margin.EdgeSubtract * Fix Capsule.Contains * EnvironmentVariables.Remove if it's null * Fixed ray trace never returning startedsolid * Fix HistoryList.Navigate on empty list * Fix GameObject.WorldPosition accepting NaNs * Fix flex: initial expanding to the wrong grow/shrink * Translation.TryConvert shouldn't throw on invalid enum strings * Skip sound file tests on machines with no audio device
69 lines
1.4 KiB
C#
69 lines
1.4 KiB
C#
using Sandbox.Audio;
|
|
|
|
namespace EngineTests;
|
|
|
|
[TestClass]
|
|
public class AudioTest
|
|
{
|
|
[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 );
|
|
}
|
|
|
|
}
|