Exemple #1
0
        public IEnumerator UserSelectsExistingNet()
        {
            yield return(Install());

            yield return(0);

            Assert.IsFalse(SceneManager.GetSceneByName(SceneNames.NetScene).isLoaded);
            DataNet firstNet = _netFactory.Create(new DataNetFactory.Parameter(_firstNetName));

            _container.Add(firstNet);
            yield return(0);

            NetSelectionElementsCreator _elementsCreator = GameObject.FindObjectOfType <NetSelectionElementsCreator>();

            Assert.AreEqual(1, _elementsCreator.ElementsCopy.Count);
            Assert.True(_elementsCreator.ElementsCopy.ContainsKey(firstNet.ID));
            NetSelectionElementInstaller element = _elementsCreator.ElementsCopy[firstNet.ID];
            Button button = element.GetComponentInChildren <Button>();

            button.onClick.Invoke();
            yield return(new WaitForSeconds(1));

            Assert.AreEqual(firstNet, _selectedNet.Selected);
            Assert.IsTrue(SceneManager.GetSceneByName(SceneNames.MainScene).isLoaded);
            Assert.IsTrue(SceneManager.GetSceneByName(SceneNames.NetScene).isLoaded);
            Assert.IsFalse(SceneManager.GetSceneByName(SceneNames.NetSelectionScene).isLoaded);
        }
Exemple #2
0
 private void checkNetElementsCreated(NetSelectionElementsCreator netSelectionElementsCreator)
 {
     foreach (DataNet net in _container.DataNetsCopy)
     {
         Assert.IsNotNull(netSelectionElementsCreator.ElementsCopy[net.ID]);
     }
     Assert.AreEqual(_container.DataNetsCopy.Count(), netSelectionElementsCreator.ElementsCopy.Count);
 }
Exemple #3
0
        public IEnumerator UserCreatesTwoNetsWithAllErrors()
        {
            yield return(Install());

            yield return(0);

            // Checks initial state and clicks create button
            Assert.AreEqual(1, GameObject.FindObjectsOfType <DataNetCreationErrorDisplay>().Length);
            DataNetCreationErrorDisplay errorDisplay = GameObject.FindObjectOfType <DataNetCreationErrorDisplay>();

            Assert.AreEqual(_creationData.GetHashCode(), errorDisplay.CreationData.GetHashCode());
            checkErrorDisplayEmpty(errorDisplay);
            DataNetNameInput nameInput = GameObject.FindObjectOfType <DataNetNameInput>();

            Assert.AreEqual(_creationData.GetHashCode(), nameInput.CreationData.GetHashCode());
            checkInputFieldEmpty(nameInput);
            DataNetCreationButton creationButton = GameObject.FindObjectOfType <DataNetCreationButton>();

            creationButton.Button.onClick.Invoke();
            yield return(0);

            // Checks error display and enters first net name
            checkErrorDisplayed(errorDisplay);
            enterName(nameInput, _firstNetName);
            yield return(0);

            // Checks error not displayed anymore and clicks create button
            checkErrorDisplayEmpty(errorDisplay);
            creationButton.Button.onClick.Invoke();
            yield return(0);

            // Checks if net and also the list element have been created and enters the name of the first net again.
            NetSelectionElementsCreator netSelectionElementsCreator = GameObject.FindObjectOfType <NetSelectionElementsCreator>();

            checkNetElementsCreated(netSelectionElementsCreator);
            checkInputFieldEmpty(nameInput);
            enterName(nameInput, _firstNetName);
            creationButton.Button.onClick.Invoke();
            yield return(0);

            // Checks if the expected error is display, enters second net name and clicks create button
            checkErrorDisplayed(errorDisplay);
            enterName(nameInput, _secondNetName);
            creationButton.Button.onClick.Invoke();
            yield return(0);

            // Checks if the error display is empty,
            // checks if second net has been created,
            // checks if name input is empty,
            checkNetElementsCreated(netSelectionElementsCreator);
            checkInputFieldEmpty(nameInput);
            checkErrorDisplayEmpty(errorDisplay);
        }