Exemple #1
0
        public void ConsoleTestStackWithNotify()
        {
            ConsoleTool.WriteLineConsoleGreenMessage("Тестируем стек с оповещением.");
            CustomStack <string> customStack = new CustomStack <string>(2);

            customStack.EventAddedNewItem  += OnItemAdded;
            customStack.EventLimitExceeded += OnLimitExceeded;
            customStack.EventStackIsEmpty  += OnStackIsEmpty;

            customStack.AddItem("1");
            customStack.AddItem("2");
            customStack.AddItem("3");
            customStack.AddItem("4");

            ConsoleTool.WriteLineConsoleGreenMessage("В безконечном цикле извлекаем все элементы в порядке очереди, до исключения. Бесконечный цикл потому, что нужно исключение.");
            while (true)
            {
                try
                {
                    Console.WriteLine($"Извлечен item: {customStack.GetNext()}");
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                    return;
                }
            }
        }