Пример #1
0
        public void ShowAndHideCardsCorrectly()
        {
            List <ISceneData> scenes = new List <ISceneData>();

            Assert.IsFalse(sectionController.view.inWorldContainer.activeSelf);
            Assert.IsFalse(sectionController.view.projectsContainer.activeSelf);

            //add project scene
            scenes.Add(new SceneData()
            {
                isDeployed = false, id = "Project1"
            });
            scenesController.SetScenes(scenes.ToArray());
            Assert.IsFalse(sectionController.view.inWorldContainer.activeSelf);
            Assert.IsTrue(sectionController.view.projectsContainer.activeSelf);

            //add deployed scenes
            scenes.Add(new SceneData()
            {
                isDeployed = true, id = "Deployed1"
            });
            scenes.Add(new SceneData()
            {
                isDeployed = true, id = "Deployed2"
            });
            scenes.Add(new SceneData()
            {
                isDeployed = true, id = "Deployed3"
            });
            scenesController.SetScenes(scenes.ToArray());
            Assert.IsTrue(sectionController.view.inWorldContainer.activeSelf);
            Assert.IsTrue(sectionController.view.projectsContainer.activeSelf);
            Assert.AreEqual(1, sectionController.view.projectSceneContainer.childCount);
            Assert.AreEqual(3, sectionController.view.deployedSceneContainer.childCount);
            Assert.AreEqual(1, GetVisibleChildrenAmount(sectionController.view.projectSceneContainer));
            Assert.AreEqual(3, GetVisibleChildrenAmount(sectionController.view.deployedSceneContainer));
            Assert.AreEqual(sectionController.view.projectSceneContainer.childCount, sectionController.projectViews.Count);
            Assert.AreEqual(sectionController.view.deployedSceneContainer.childCount, sectionController.deployedViews.Count);

            //add deployed scene
            scenes.Add(new SceneData()
            {
                isDeployed = true, id = "Deployed4"
            });
            scenesController.SetScenes(scenes.ToArray());
            Assert.IsTrue(sectionController.view.inWorldContainer.activeSelf);
            Assert.IsTrue(sectionController.view.projectsContainer.activeSelf);
            Assert.AreEqual(1, sectionController.view.projectSceneContainer.childCount);
            Assert.AreEqual(4, sectionController.view.deployedSceneContainer.childCount);
            Assert.AreEqual(1, GetVisibleChildrenAmount(sectionController.view.projectSceneContainer));
            Assert.AreEqual(3, GetVisibleChildrenAmount(sectionController.view.deployedSceneContainer));
            Assert.AreEqual(sectionController.view.projectSceneContainer.childCount, sectionController.projectViews.Count);
            Assert.AreEqual(sectionController.view.deployedSceneContainer.childCount, sectionController.deployedViews.Count);

            //remove deployed scene
            scenes = scenes.FindAll((data) => data.id != "Deployed3");
            scenesController.SetScenes(scenes.ToArray());
            Assert.IsTrue(sectionController.view.inWorldContainer.activeSelf);
            Assert.IsTrue(sectionController.view.projectsContainer.activeSelf);
            Assert.AreEqual(1, sectionController.view.projectSceneContainer.childCount);
            Assert.AreEqual(3, sectionController.view.deployedSceneContainer.childCount);
            Assert.AreEqual(1, GetVisibleChildrenAmount(sectionController.view.projectSceneContainer));
            Assert.AreEqual(3, GetVisibleChildrenAmount(sectionController.view.deployedSceneContainer));
            Assert.AreEqual(sectionController.view.projectSceneContainer.childCount, sectionController.projectViews.Count);
            Assert.AreEqual(sectionController.view.deployedSceneContainer.childCount, sectionController.deployedViews.Count);

            //remove all deployed
            scenes = new List <ISceneData>()
            {
                new SceneData()
                {
                    isDeployed = false, id = "Project1"
                }
            };
            scenesController.SetScenes(scenes.ToArray());
            Assert.IsFalse(sectionController.view.inWorldContainer.activeSelf);
            Assert.IsTrue(sectionController.view.projectsContainer.activeSelf);
            Assert.AreEqual(sectionController.view.projectSceneContainer.childCount, sectionController.projectViews.Count);
            Assert.AreEqual(sectionController.view.deployedSceneContainer.childCount, sectionController.deployedViews.Count);

            //switch project to deployed
            scenes = new List <ISceneData>()
            {
                new SceneData()
                {
                    isDeployed = true, id = "Project1"
                }
            };
            scenesController.SetScenes(scenes.ToArray());
            Assert.IsTrue(sectionController.view.inWorldContainer.activeSelf);
            Assert.IsFalse(sectionController.view.projectsContainer.activeSelf);
            Assert.AreEqual(sectionController.view.projectSceneContainer.childCount, sectionController.projectViews.Count);
            Assert.AreEqual(sectionController.view.deployedSceneContainer.childCount, sectionController.deployedViews.Count);

            //remove all scenes
            scenesController.SetScenes(new ISceneData[] {});
            Assert.IsFalse(sectionController.view.inWorldContainer.activeSelf);
            Assert.IsFalse(sectionController.view.projectsContainer.activeSelf);
            Assert.AreEqual(sectionController.view.projectSceneContainer.childCount, sectionController.projectViews.Count);
            Assert.AreEqual(sectionController.view.deployedSceneContainer.childCount, sectionController.deployedViews.Count);
        }
Пример #2
0
        public void CallListenerEventsCorrectly()
        {
            scenesViewController.SetScenes(new List <ISceneData>()
            {
                new SceneData()
                {
                    id = "1", isDeployed = true
                }
            });

            Assert.AreEqual(1, listenerMock.deployedScenes.Count);
            Assert.AreEqual(1, listenerMock.setScenes.Count);
            Assert.AreEqual(0, listenerMock.addedScenes.Count);
            Assert.AreEqual(0, listenerMock.removedScenes.Count);
            Assert.AreEqual(0, listenerMock.projectScenes.Count);

            listenerMock.Clear();

            scenesViewController.SetScenes(new List <ISceneData>()
            {
                new SceneData()
                {
                    id = "1", isDeployed = true
                },
                new SceneData()
                {
                    id = "2", isDeployed = true
                }
            });

            Assert.AreEqual(2, listenerMock.deployedScenes.Count);
            Assert.AreEqual(0, listenerMock.setScenes.Count);
            Assert.AreEqual(1, listenerMock.addedScenes.Count);
            Assert.AreEqual(0, listenerMock.removedScenes.Count);
            Assert.AreEqual(0, listenerMock.projectScenes.Count);

            listenerMock.Clear();

            scenesViewController.SetScenes(new List <ISceneData>()
            {
                new SceneData()
                {
                    id = "1", isDeployed = true
                },
                new SceneData()
                {
                    id = "2", isDeployed = false
                }
            });

            Assert.AreEqual(1, listenerMock.deployedScenes.Count);
            Assert.AreEqual(1, listenerMock.setScenes.Count);
            Assert.AreEqual(0, listenerMock.addedScenes.Count);
            Assert.AreEqual(1, listenerMock.removedScenes.Count);
            Assert.AreEqual(1, listenerMock.projectScenes.Count);

            listenerMock.Clear();

            scenesViewController.SetScenes(new List <ISceneData>()
            {
                new SceneData()
                {
                    id = "1", isDeployed = true
                },
                new SceneData()
                {
                    id = "2", isDeployed = false
                }
            });

            Assert.AreEqual(1, listenerMock.deployedScenes.Count);
            Assert.AreEqual(0, listenerMock.setScenes.Count);
            Assert.AreEqual(0, listenerMock.addedScenes.Count);
            Assert.AreEqual(0, listenerMock.removedScenes.Count);
            Assert.AreEqual(1, listenerMock.projectScenes.Count);

            listenerMock.Clear();

            scenesViewController.SetScenes(new List <ISceneData>()
            {
                new SceneData()
                {
                    id = "1", isDeployed = false
                },
                new SceneData()
                {
                    id = "2", isDeployed = false
                }
            });

            Assert.AreEqual(0, listenerMock.deployedScenes.Count);
            Assert.AreEqual(0, listenerMock.setScenes.Count);
            Assert.AreEqual(1, listenerMock.addedScenes.Count);
            Assert.AreEqual(1, listenerMock.removedScenes.Count);
            Assert.AreEqual(2, listenerMock.projectScenes.Count);
        }