65 lines
1.7 KiB
C#
65 lines
1.7 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using System.IO;
|
|
using NUnit.Framework;
|
|
using UnityEditor;
|
|
using UnityEngine;
|
|
using UnityEngine.TestTools;
|
|
using UnityEngine.UI;
|
|
|
|
public class ScrollBarTests : IPrebuildSetup
|
|
{
|
|
GameObject m_PrefabRoot;
|
|
const string kPrefabPath = "Assets/Resources/ScrollBarPrefab.prefab";
|
|
|
|
public void Setup()
|
|
{
|
|
#if UNITY_EDITOR
|
|
var rootGO = new GameObject("rootGo");
|
|
|
|
var canvasGO = new GameObject("Canvas", typeof(Canvas), typeof(RectTransform));
|
|
canvasGO.transform.SetParent(rootGO.transform);
|
|
|
|
var scrollBarGo = new GameObject("ScrollBar", typeof(Scrollbar));
|
|
scrollBarGo.transform.SetParent(canvasGO.transform);
|
|
|
|
if (!Directory.Exists("Assets/Resources/"))
|
|
Directory.CreateDirectory("Assets/Resources/");
|
|
|
|
PrefabUtility.SaveAsPrefabAsset(rootGO, kPrefabPath);
|
|
GameObject.DestroyImmediate(rootGO);
|
|
#endif
|
|
}
|
|
|
|
[SetUp]
|
|
public void TestSetup()
|
|
{
|
|
m_PrefabRoot = UnityEngine.Object.Instantiate(Resources.Load("ScrollBarPrefab")) as GameObject;
|
|
}
|
|
|
|
[Test]
|
|
public void ScrollBarSetValueWithoutNotifyWillNotNotify()
|
|
{
|
|
Scrollbar s = m_PrefabRoot.GetComponentInChildren<Scrollbar>();
|
|
s.value = 0;
|
|
|
|
bool calledOnValueChanged = false;
|
|
|
|
s.onValueChanged.AddListener(b => { calledOnValueChanged = true; });
|
|
|
|
s.SetValueWithoutNotify(1);
|
|
|
|
Assert.IsTrue(s.value == 1);
|
|
Assert.IsFalse(calledOnValueChanged);
|
|
}
|
|
|
|
[TearDown]
|
|
public void TearDown()
|
|
{
|
|
GameObject.DestroyImmediate(m_PrefabRoot);
|
|
#if UNITY_EDITOR
|
|
AssetDatabase.DeleteAsset(kPrefabPath);
|
|
#endif
|
|
}
|
|
}
|