57 lines
1.6 KiB
C#
57 lines
1.6 KiB
C#
// Copyright (c) 2012-2020 Wojciech Figat. All rights reserved.
|
|
|
|
using FlaxEngine.GUI;
|
|
using NUnit.Framework;
|
|
using Assert = FlaxEngine.Assertions.Assert;
|
|
|
|
namespace FlaxEngine.Tests
|
|
{
|
|
[TestFixture]
|
|
public class TestContainerControl
|
|
{
|
|
public class MyControl : Control
|
|
{
|
|
public MyControl(float x, float y, float width, float height)
|
|
: base(x, y, width, height)
|
|
{
|
|
}
|
|
}
|
|
|
|
public class MyContainerControl : ContainerControl
|
|
{
|
|
public MyContainerControl(float x, float y, float width, float height)
|
|
: base(x, y, width, height)
|
|
{
|
|
}
|
|
}
|
|
|
|
[Test]
|
|
public void TestChildren()
|
|
{
|
|
var c1 = new MyControl(0, 0, 10, 20);
|
|
var c2 = new MyControl(0, 10, 10, 20);
|
|
var c3 = new MyControl(10, 0, 10, 20);
|
|
|
|
var cc1 = new MyContainerControl(0, 0, 100, 100);
|
|
var cc2 = new MyContainerControl(10, 0, 100, 100);
|
|
var cc3 = new MyContainerControl(10, 10, 100, 100);
|
|
|
|
cc1.AddChild(cc2);
|
|
cc2.AddChild(cc3);
|
|
cc3.AddChild(c1);
|
|
cc3.AddChild(c2);
|
|
cc3.AddChild(c3);
|
|
|
|
Assert.IsTrue(cc1.Parent == null);
|
|
Assert.IsTrue(cc2.Parent == cc1);
|
|
Assert.IsTrue(cc3.Parent == cc2);
|
|
Assert.IsTrue(c1.Parent == cc3);
|
|
Assert.IsTrue(c2.Parent == cc3);
|
|
Assert.IsTrue(c3.Parent == cc3);
|
|
|
|
Assert.AreEqual(cc1.GetChildAt(new Vector2(15, 5)), cc2);
|
|
Assert.AreEqual(cc1.GetChildAtRecursive(new Vector2(35, 25)), c3);
|
|
}
|
|
}
|
|
}
|