File size: 1,520 Bytes
18a519f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
using NUnit.Framework;
using UnityEngine.UI;
using UnityEngine;

[Category("Slider")]
public class SliderRectRefernces : Behaviour
{
    private Slider slider;
    private GameObject emptyGO;
    private GameObject rootGO;

    [SetUp]
    public void TestSetup()
    {
        rootGO = new GameObject("root child");
        rootGO.AddComponent<Canvas>();

        var sliderGameObject = new GameObject("Slider");
        slider = sliderGameObject.AddComponent<Slider>();

        emptyGO = new GameObject("base", typeof(RectTransform));

        sliderGameObject.transform.SetParent(rootGO.transform);
        emptyGO.transform.SetParent(sliderGameObject.transform);
    }

    [TearDown]
    public void TearDown()
    {
        GameObject.DestroyImmediate(rootGO);
    }

    [Test]
    public void AssigningSelfResultsInNullReferenceField()
    {
        slider.fillRect = (RectTransform)slider.transform;
        Assert.IsNull(slider.fillRect);

        slider.handleRect = (RectTransform)slider.transform;
        Assert.IsNull(slider.handleRect);
    }

    [Test]
    public void AssigningOtherObjectResultsInCorrectReferenceField()
    {
        slider.fillRect = (RectTransform)emptyGO.transform;
        Assert.IsNotNull(slider.fillRect);
        Assert.AreEqual(slider.fillRect, (RectTransform)emptyGO.transform);

        slider.handleRect = (RectTransform)emptyGO.transform;
        Assert.IsNotNull(slider.handleRect);
        Assert.AreEqual(slider.handleRect, (RectTransform)emptyGO.transform);
    }
}