Files
sbox-public/engine/Sandbox.Test/UI/Panel/ClassAdd.cs
s&box team 71f266059a Open source release
This commit imports the C# engine code and game files, excluding C++ source code.

[Source-Commit: ceb3d758046e50faa6258bc3b658a30c97743268]
2025-11-24 09:05:18 +00:00

121 lines
2.5 KiB
C#

using Sandbox.UI;
namespace TestUI.Panels;
[TestClass]
public partial class ClassAdd
{
[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" ) );
}
}