예제 #1
0
        static void Main()
        {
            Dictionary <int, int> DictionaryCountBanknote = AtmLibrary.CheckBanknoteInAtm(); // Возвращает словарь со значениями купюр в автомате
            // Проверка купюр в устройстве. Если в АТМ присутствуют все 6 видо купюр в кол больше 10шт то возвращается число 6
            int CheckWork = CheckWorkATM(DictionaryCountBanknote);

            if (CheckWork == 6)
            {
                Console.WriteLine("Приветствуем вас в банкомате.");
                StartMenu();
            }
            else
            {
                Console.WriteLine("В автомате закончились банкноты. Ожидайте пополнения инкасаторами.");
                Console.Write("Введите пароль инкасации(1111): ");
                int Pass = Convert.ToInt32(Console.ReadLine());
                if (Pass == 1111)
                {
                    AtmLibrary.AddBanknoteATM();
                    StartMenu();
                }
                else
                {
                    Console.WriteLine("Вы ввели неправильный пароль. Повторите попытку.");
                    Main();
                }
            }
예제 #2
0
        public void CheckValueMax5000()
        {
            //arrange
            int  InputData_5000 = 5000;
            int  InputData_5999 = 5999;
            bool Expected_5000  = true;
            bool Expected_5999  = false;
            //act
            bool Actual_5000 = AtmLibrary.CheckValueMax5000(InputData_5000);
            bool Actual_5999 = AtmLibrary.CheckValueMax5000(InputData_5999);

            //assert
            Assert.AreEqual(Expected_5000, Actual_5000);
            Assert.AreEqual(Expected_5999, Actual_5999);
        }
예제 #3
0
        public void CheckMinusValue()
        {
            //arrange
            int  InputDataMinus = -50;
            int  InputDataPlus  = 50;
            bool ExpectedMinus  = false;
            bool ExpectedPlus   = true;
            //act
            bool ActualMinus = AtmLibrary.CheckMinusValue(InputDataMinus);
            bool ActualPlus  = AtmLibrary.CheckMinusValue(InputDataPlus);

            //assert
            Assert.AreEqual(ExpectedMinus, ActualMinus);
            Assert.AreEqual(ExpectedPlus, ActualPlus);
        }
예제 #4
0
        public void CheckMultiplicity()
        {
            //arrange
            int  InputData_10    = 100;
            int  InputDataNot_10 = 99;
            bool Expected_10     = true;
            bool Expected_Not_10 = false;
            //act
            bool Actual_10   = AtmLibrary.CheckMultiplicity(InputData_10);
            bool AcuakNot_10 = AtmLibrary.CheckMultiplicity(InputDataNot_10);

            //assert
            Assert.AreEqual(Expected_10, Actual_10);
            Assert.AreEqual(Expected_Not_10, AcuakNot_10);
        }
예제 #5
0
            //Главный метод. Выбор режима работы
            static void StartMenu()
            {
                int CheckerOut = 0;

                while (CheckerOut == 0) // Главный цикл == Меню
                {
                    Console.Write("Выберите режим работы банкомата. 1 - Выдача наличных. 2 - Пополнение наличных (Только для инкасаторов).");
                    int SelectionMode = Convert.ToInt32(Console.ReadLine());
                    switch (SelectionMode)
                    {
                    case 1:
                        Console.WriteLine("Вы выбрали режим работы - Выдача наличных.");
                        AtmLibrary Value = new AtmLibrary();                              // создание экземпляра класса библиотеки

                        Dictionary <int, int> ValueCountMoney = Value.BanknoteDivision(); // Словарь со значениями Номинал:Количество
                        Console.WriteLine("Вам было выданно:");
                        foreach (KeyValuePair <int, int> keyValue in ValueCountMoney)     // цикл вывода полученных данных
                        {
                            if (keyValue.Value > 0)
                            {
                                Console.WriteLine($"Купюр номиналом { keyValue.Key} = {keyValue.Value} шт.");
                            }
                        }
                        break;

                    case 2:
                        Console.Write("Вы выбрали режим работы - Пополнение наличных (Только для инкасаторов). Введите код доступа (1111)");
                        int SecurityCode = Convert.ToInt32(Console.ReadLine());
                        if (SecurityCode == 1111)
                        {
                            AtmLibrary.AddBanknoteATM();
                        }
                        else
                        {
                            Console.WriteLine("У вас нет права доступа в этот раздел. Повторите попытку.");
                        }


                        break;

                    default:
                        Console.WriteLine("Вы выбрали не правильный вариант. Повторите попытку.");
                        break;
                    }

                    int CheckWorkATM = 0;
                    while (CheckWorkATM == 0)
                    {
                        Console.Write("Желаете продолжить работу с терминалом? 1-Да. 2-Нет.");
                        CheckWorkATM = Convert.ToInt32(Console.ReadLine());

                        if (CheckWorkATM == 1)
                        {
                            Console.WriteLine("Хорошо, сейчас перенаправлю вас на главный экран.");
                            CheckerOut   = 0;
                            CheckWorkATM = 1;
                        }
                        else if (CheckWorkATM == 2)
                        {
                            Console.WriteLine("Операции завершенны успешно. Хорошего дня.");
                            CheckerOut   = 1;
                            CheckWorkATM = 1;
                        }
                        else
                        {
                            Console.WriteLine("Вы выбрали не правильный ответ. Повторите ваш выбор.");
                            CheckWorkATM = 0;
                        }
                    }
                }
            }