mirror of
https://github.com/Facepunch/sbox-public.git
synced 2026-07-31 15:58:27 -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
122 lines
2.5 KiB
C#
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" ) );
|
|
}
|
|
}
|