Files
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

122 lines
2.5 KiB
C#

using Sandbox.UI;
namespace UITests.Panels;
[TestClass]
[DoNotParallelize] // Modfiies UI System Global
public partial class ClassAddTest
{
[TestMethod]
public void SetSingle()
{
var r = new RootPanel();
r.PanelBounds = new Rect( 0, 0, 1000, 1000 );
var p = new Panel { Parent = r };
Assert.AreEqual( 0, p.Class.Count() );
p.AddClass( "one" );
Assert.AreEqual( 1, p.Class.Count() );
Assert.AreEqual( "one", p.Class.First() );
}
[TestMethod]
public void SetDouble()
{
var r = new RootPanel();
r.PanelBounds = new Rect( 0, 0, 1000, 1000 );
var p = new Panel { Parent = r };
Assert.AreEqual( 0, p.Class.Count() );
p.AddClass( "one" );
p.AddClass( "two" );
Assert.AreEqual( 2, p.Class.Count() );
Assert.IsTrue( p.Class.Contains( "one" ) );
Assert.IsTrue( p.Class.Contains( "two" ) );
}
[TestMethod]
public void SetDuplicate()
{
var r = new RootPanel();
r.PanelBounds = new Rect( 0, 0, 1000, 1000 );
var p = new Panel { Parent = r };
Assert.AreEqual( 0, p.Class.Count() );
p.AddClass( "one" );
p.AddClass( "two" );
p.AddClass( "one" );
Assert.AreEqual( 2, p.Class.Count() );
Assert.IsTrue( p.Class.Contains( "one" ) );
Assert.IsTrue( p.Class.Contains( "two" ) );
}
[TestMethod]
public void Remove()
{
var r = new RootPanel();
r.PanelBounds = new Rect( 0, 0, 1000, 1000 );
var p = new Panel { Parent = r };
Assert.AreEqual( 0, p.Class.Count() );
p.AddClass( "one" );
p.AddClass( "two" );
p.RemoveClass( "one" );
Assert.AreEqual( 1, p.Class.Count() );
Assert.IsTrue( p.Class.Contains( "two" ) );
}
[TestMethod]
public void RemoveAll()
{
var r = new RootPanel();
r.PanelBounds = new Rect( 0, 0, 1000, 1000 );
var p = new Panel { Parent = r };
Assert.AreEqual( 0, p.Class.Count() );
p.AddClass( "one" );
p.AddClass( "two" );
p.RemoveClass( "one" );
p.RemoveClass( "two" );
Assert.AreEqual( 0, p.Class.Count() );
}
[TestMethod]
public void SetMultiple()
{
var r = new RootPanel();
r.PanelBounds = new Rect( 0, 0, 1000, 1000 );
var p = new Panel { Parent = r };
Assert.AreEqual( 0, p.Class.Count() );
p.AddClass( "one two" );
Assert.AreEqual( 2, p.Class.Count() );
Assert.IsTrue( p.Class.Contains( "one" ) );
Assert.IsTrue( p.Class.Contains( "two" ) );
p.AddClass( "one two three four" );
Assert.AreEqual( 4, p.Class.Count() );
Assert.IsTrue( p.Class.Contains( "one" ) );
Assert.IsTrue( p.Class.Contains( "two" ) );
Assert.IsTrue( p.Class.Contains( "three" ) );
Assert.IsTrue( p.Class.Contains( "four" ) );
}
}