暫無描述
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.

ScrollBarTests.cs 1.7KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using System.IO;
  4. using NUnit.Framework;
  5. using UnityEditor;
  6. using UnityEngine;
  7. using UnityEngine.TestTools;
  8. using UnityEngine.UI;
  9. public class ScrollBarTests : IPrebuildSetup
  10. {
  11. GameObject m_PrefabRoot;
  12. const string kPrefabPath = "Assets/Resources/ScrollBarPrefab.prefab";
  13. public void Setup()
  14. {
  15. #if UNITY_EDITOR
  16. var rootGO = new GameObject("rootGo");
  17. var canvasGO = new GameObject("Canvas", typeof(RectTransform), typeof(Canvas));
  18. canvasGO.transform.SetParent(rootGO.transform);
  19. var scrollBarGo = new GameObject("ScrollBar", typeof(Scrollbar));
  20. scrollBarGo.transform.SetParent(canvasGO.transform);
  21. if (!Directory.Exists("Assets/Resources/"))
  22. Directory.CreateDirectory("Assets/Resources/");
  23. PrefabUtility.SaveAsPrefabAsset(rootGO, kPrefabPath);
  24. GameObject.DestroyImmediate(rootGO);
  25. #endif
  26. }
  27. [SetUp]
  28. public void TestSetup()
  29. {
  30. m_PrefabRoot = UnityEngine.Object.Instantiate(Resources.Load("ScrollBarPrefab")) as GameObject;
  31. }
  32. [Test]
  33. public void ScrollBarSetValueWithoutNotifyWillNotNotify()
  34. {
  35. Scrollbar s = m_PrefabRoot.GetComponentInChildren<Scrollbar>();
  36. s.value = 0;
  37. bool calledOnValueChanged = false;
  38. s.onValueChanged.AddListener(b => { calledOnValueChanged = true; });
  39. s.SetValueWithoutNotify(1);
  40. Assert.IsTrue(s.value == 1);
  41. Assert.IsFalse(calledOnValueChanged);
  42. }
  43. [TearDown]
  44. public void TearDown()
  45. {
  46. GameObject.DestroyImmediate(m_PrefabRoot);
  47. #if UNITY_EDITOR
  48. AssetDatabase.DeleteAsset(kPrefabPath);
  49. #endif
  50. }
  51. }