Пример #1
0
        public IEnumerator OnChangedStyleInfoPasses()
        {
            var inputViewer = InputViewer.CreateInstance();

            Assert.IsFalse(inputViewer.ViewerItems.Any());

            var items = new IInputViewerItem[]
            {
                inputViewer.gameObject.AddComponent <DummyInputViewerItem>(),
                inputViewer.gameObject.AddComponent <DummyInputViewerItem>(),
            };

            yield return(null);

            foreach (var child in inputViewer.ViewerItems.OfType <DummyInputViewerItem>())
            {
                Assert.AreEqual(1, child.OnChangedStyleCallCounter);
            }
            Debug.Log($"Success to IInputViewerItem#InitItem()!");

            inputViewer.StyleInfo.Font = new Font();
            foreach (var child in inputViewer.ViewerItems.OfType <DummyInputViewerItem>())
            {
                Assert.AreEqual(2, child.OnChangedStyleCallCounter);
            }
            Debug.Log($"Success to Change InputViewerStyleInfo's property!");
        }
Пример #2
0
        public IEnumerator TextAreaPasses()
        {
            var inputViewer = InputViewer.CreateInstance();

            yield return(null);

            Assert.IsNotNull(inputViewer.TextArea);
            Assert.AreSame(inputViewer.RootCanvas.transform, inputViewer.TextArea.transform.parent);
        }
Пример #3
0
        public IEnumerator RootCanvasPasses()
        {
            var inputViewer = InputViewer.CreateInstance();

            yield return(null);

            Assert.IsNotNull(inputViewer.RootCanvas);
            Assert.IsNull(inputViewer.RootCanvas.transform.parent);
        }
Пример #4
0
        public IEnumerator CreateInstancePasses()
        {
            var inputViewer = InputViewer.CreateInstance();
            var scene       = SceneManager.GetActiveScene();

            Assert.IsTrue(scene.GetRootGameObjects().Any(_o => _o.TryGetComponent <InputViewer>(out var _)));

            yield return(null);
        }
Пример #5
0
        public IEnumerator AddItemPasses()
        {
            var inputViewer = InputViewer.CreateInstance();

            Assert.IsFalse(inputViewer.ViewerItems.Any());

            var item = inputViewer.gameObject.AddComponent <DummyInputViewerItem>();

            inputViewer.AddItem(item);
            Assert.IsTrue(inputViewer.ViewerItems.Contains(item));
            yield return(null);
        }
Пример #6
0
        public IEnumerator RemoveItemWhenNotExistPasses()
        {
            var inputViewer = InputViewer.CreateInstance();

            Assert.IsFalse(inputViewer.ViewerItems.Any());

            var item = inputViewer.gameObject.AddComponent <DummyInputViewerItem>();

            inputViewer.RemoveItem(item); // <- Test point.
            Assert.IsFalse(inputViewer.ViewerItems.Contains(item));
            yield return(null);
        }
Пример #7
0
        public IEnumerator AddItemWhenAlreadyAddedPasses()
        {
            var inputViewer = InputViewer.CreateInstance();

            Assert.IsFalse(inputViewer.ViewerItems.Any());

            var item = inputViewer.gameObject.AddComponent <DummyInputViewerItem>();

            inputViewer.AddItem(item);

            inputViewer.AddItem(item); // <- Test point. InputViewer#AddItem will do nothing.

            Assert.AreEqual(1, inputViewer.ViewerItems.Where(_i => _i == item).Count());
            yield return(null);
        }
Пример #8
0
        public IEnumerator AutoAddToInputViewerPasses()
        {
            var inputViewer = InputViewer.CreateInstance();

            inputViewer.UseInput = new ReplayableInput()
            {
                IsReplaying = true
            };
            var dummyItem = inputViewer.gameObject.AddComponent <DummyInputViewerItem>();

            Assert.IsFalse(inputViewer.ViewerItems.Contains(dummyItem), $"Auto Addition must add on IInputViewerItem#Start()...");
            yield return(null); // <- Call IInputViewerItem#Start()

            Assert.AreSame(inputViewer, dummyItem.UseInputViewer);
            Assert.IsTrue(inputViewer.ViewerItems.Contains(dummyItem), $"IInputViewerItem must add automatic to InputViewer on IInputViewerItem#Start()...");
        }
Пример #9
0
        public IEnumerator AutoRemoveFromInputViewerPasses()
        {
            var inputViewer = InputViewer.CreateInstance();

            inputViewer.UseInput = new ReplayableInput()
            {
                IsReplaying = true
            };
            var dummyItem = inputViewer.gameObject.AddComponent <DummyInputViewerItem>();

            yield return(null); // <- Call IInputViewerItem#Start()

            Object.Destroy(dummyItem);
            yield return(null); // <- Call IInputViewerItem#Destroy()

            Assert.IsNull(dummyItem.UseInputViewer);
            Assert.IsFalse(inputViewer.ViewerItems.Contains(dummyItem), $"IInputViewerItem must remove automatic from InputViewer on IInputViewerItem#Destroy()...");
        }
Пример #10
0
        public IEnumerator RefleshItemsPasses()
        {
            var inputViewer = InputViewer.CreateInstance();

            Assert.IsFalse(inputViewer.ViewerItems.Any());

            var items = new IInputViewerItem[]
            {
                inputViewer.gameObject.AddComponent <DummyInputViewerItem>(),
                inputViewer.gameObject.AddComponent <DummyInputViewerItem>(),
            };

            inputViewer.RefleshItems();
            AssertionUtils.AssertEnumerableByUnordered(
                items
                , inputViewer.ViewerItems
                , ""
                );

            Assert.IsTrue(inputViewer.ViewerItems.OfType <DummyInputViewerItem>().All(_d => _d.UseInputViewer == inputViewer));
            yield return(null);
        }
Пример #11
0
 public override void OnRemoveFromViewer(InputViewer inputViewer)
 {
     UseInputViewer = null;
 }
Пример #12
0
 public override void OnInitItem(InputViewer inputViewer)
 {
     UseInputViewer = inputViewer;
 }