You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
64 lines
1.7 KiB
64 lines
1.7 KiB
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(RectTransform), typeof(Canvas)); |
|
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 |
|
} |
|
}
|
|
|