Пример #1
0
        private async Task Save(IPlayer player, bool a_noTest, model.task.delay.IAsyncDelay a_asyncDelay)
        {
            List <model.Dice> diceList           = player.GetHand();
            List <model.Dice> tempDiceList       = new List <model.Dice>();
            List <model.Dice> dicesToBeSavedList = new List <model.Dice>();
            int dicesInList = 6;

            for (int i = 0; i < dicesInList; i++)
            {
                m_IView.DisplaySaveKeys();
                model.Hand.Dices input = m_IView.GetDiceToSave();

                if (input == model.Hand.Dices.Done)
                {
                    break;
                }

                int index = diceList.FindIndex(d => d.Dicenumber == input);

                if (index == -1)
                {
                    m_IView.DisplayCannotSaveDiceTwice();
                    if (a_noTest)
                    {
                        i--; // Enables endless loop and player can only exit through option "DONE".
                    }
                }
                else
                {
                    model.Dice diceToSave = diceList[index];
                    tempDiceList.Add(diceToSave);
                    diceList.RemoveAt(index);
                }
            }

            foreach (model.Dice d in tempDiceList)
            {
                dicesToBeSavedList.Add(d);
            }

            for (int i = 0; i < dicesToBeSavedList.Count; i++)
            {
                player.Save(dicesToBeSavedList[i]);
            }

            await RollRemainingDicesAfterSave(player, a_asyncDelay);
        }
Пример #2
0
 public void GetDiceToSave_ArgumentString3_ReturnsEnumDicesDice_3()
 {
     model.Hand.Dices actual   = sut.GetDiceToSave("3");
     model.Hand.Dices expected = model.Hand.Dices.Dice_3;
     Assert.Equal(expected, actual);
 }
Пример #3
0
 public void GetDiceToSave_NullAsArgument_ReturnModelHandDices_2()
 {
     model.Hand.Dices actual   = sut.GetDiceToSave(null);
     model.Hand.Dices expected = model.Hand.Dices.Dice_2; // Set by mock_console_readline_setup()
     Assert.Equal(expected, actual);
 }