Files
sbox-public/engine/Tests/Sandbox.Test.Unit/Reflection/EnumDescription.cs
Garry Newman d95169d8fa Unit Test Cleanup (#5064)
* 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
2026-06-12 13:23:50 +01:00

51 lines
942 B
C#

using Sandbox.Internal;
namespace ReflectionTests;
[TestClass]
public class EnumDescriptionTest
{
private EnumDescription GetExampleEnumDescription()
{
var tl = new TypeLibrary();
tl.AddAssembly( GetType().Assembly, true );
return tl.GetEnumDescription( typeof( ExampleEnum ) );
}
[TestMethod]
public void GetEnumDescription()
{
var enumDesc = GetExampleEnumDescription();
Assert.AreEqual( 4, enumDesc.Count() );
}
[TestMethod]
public void GetEntryByObjectValue()
{
var enumDesc = GetExampleEnumDescription();
var enumEntry = enumDesc.GetEntry( ExampleEnum.C );
Assert.AreEqual( nameof( ExampleEnum.C ), enumEntry.Name );
}
[TestMethod]
public void GetEntryByIntegerValue()
{
var enumDesc = GetExampleEnumDescription();
var enumEntry = enumDesc.GetEntry( 2 );
Assert.AreEqual( nameof( ExampleEnum.C ), enumEntry.Name );
}
}
[Expose]
public enum ExampleEnum
{
A = 0,
B = 1,
C = 2,
D = 3
}