Exemplo n.º 1
0
        public void TestCommandsForMultiStyle()
        {
            PrintingCommandExecuter printingExecuter = new PrintingCommandExecuter();

            printingExecuter.AddStyleCommand(StarStyle.Instance);
            printingExecuter.AddStyleCommand(UpperCaseStyle.Instance);
            printingExecuter.AddStyleCommand(QuestionStyle.Instance);

            StylishPrinter.PrintLine(inputText);
            printingExecuter.Execute(AddCommand + QuestionStyle.Instance.CommandSuffix, null);
            StylishPrinter.PrintLine(inputText);
            printingExecuter.Execute(AddCommand + StarStyle.Instance.CommandSuffix, null);
            StylishPrinter.PrintLine(inputText);
            printingExecuter.Execute(AddCommand + UpperCaseStyle.Instance.CommandSuffix, null);
            StylishPrinter.PrintLine(inputText);
            printingExecuter.Execute(RemoveCommand + UpperCaseStyle.Instance.CommandSuffix, null);
            StylishPrinter.PrintLine(inputText);
            printingExecuter.Execute(RemoveCommand + QuestionStyle.Instance.CommandSuffix, null);
            StylishPrinter.PrintLine(inputText);
            printingExecuter.Execute(RemoveCommand + StarStyle.Instance.CommandSuffix, null);
            StylishPrinter.PrintLine(inputText);

            string capturedText = writer.ToString();
            string expectedText = GetTextLine(inputText);

            expectedText += GetTextLine("?" + inputText);
            expectedText += GetTextLine("*?" + inputText);
            expectedText += GetTextLine("*?" + inputText.ToUpper());
            expectedText += GetTextLine("*?" + inputText);
            expectedText += GetTextLine("*" + inputText);
            expectedText += GetTextLine(inputText);
            Assert.AreEqual(expectedText, capturedText);
        }
Exemplo n.º 2
0
        public bool Execute(string command, string[] args)
        {
            bool addExits = command.StartsWith(AddCommand);

            if (addExits)
            {
                command = command.Remove(0, AddCommand.Length);
                for (int i = 0; i < m_Styles.Count; i++)
                {
                    if (command == m_Styles[i].CommandSuffix)
                    {
                        StylishPrinter.AddStyle(m_Styles[i]);
                        return(true);
                    }
                }
            }
            else
            {
                bool removeExists = command.StartsWith(RemoveCommand);
                if (removeExists)
                {
                    command = command.Remove(0, RemoveCommand.Length);
                    for (int i = 0; i < m_Styles.Count; i++)
                    {
                        if (command == m_Styles[i].CommandSuffix)
                        {
                            StylishPrinter.RemoveStyle(m_Styles[i]);
                            return(true);
                        }
                    }
                }
            }

            return(false);
        }
 private Publication GetPublication(string publicationName)
 {
     try
     {
         return(PublicationProvider.Instance.GetPublication(publicationName));
     }
     catch (Exception exception)
     {
         StylishPrinter.PrintLine(exception.Message);
         return(null);
     }
 }
Exemplo n.º 4
0
        public bool Execute(string command, string[] args)
        {
            if (command == commands[0])
            {
                if (args != null && args.Length > 1)
                {
                    try
                    {
                        Publication publication = PublicationProvider.Instance.GetPublication(args[0]);
                        publication.Subscribe(Convert.ToInt32(args[1]));
                    }
                    catch (Exception exception)
                    {
                        StylishPrinter.PrintLine(exception.Message);
                    }
                }
                else
                {
                    StylishPrinter.PrintLine("Invalid arguments for subscribing user");
                }
            }
            else
            {
                if (command == commands[1])
                {
                    if (args != null && args.Length > 3)
                    {
                        try
                        {
                            CreateUser(args[0], args[1], args[2], Convert.ToDateTime(args[3]));
                        }
                        catch (FormatException)
                        {
                            StylishPrinter.PrintLine("Invalid birth date for creating user");
                        }
                    }
                    else
                    {
                        StylishPrinter.PrintLine("Invalid arguments for creating user");
                    }
                }
                else
                {
                    CommandProcessor.Instance.WrongCommand();
                    return(false);
                }
            }

            return(false);
        }
Exemplo n.º 5
0
        public void TestStyleEquality()
        {
            StylishPrinter.PrintLine(inputText);
            StylishPrinter.AddStyle(new QuestionStyle());
            StylishPrinter.PrintLine(inputText);
            StylishPrinter.RemoveStyle(new QuestionStyle());
            StylishPrinter.PrintLine(inputText);

            string capturedText = writer.ToString();
            string expectedText = GetTextLine(inputText);

            expectedText += GetTextLine("?" + inputText);
            expectedText += GetTextLine(inputText);
            Assert.AreEqual(expectedText, capturedText);
        }
Exemplo n.º 6
0
        public void TestUpperCaseStyle()
        {
            StylishPrinter.PrintLine(inputText);
            StylishPrinter.AddStyle(UpperCaseStyle.Instance);
            StylishPrinter.PrintLine(inputText);
            StylishPrinter.RemoveStyle(UpperCaseStyle.Instance);
            StylishPrinter.PrintLine(inputText);

            string capturedText = writer.ToString();
            string expectedText = GetTextLine(inputText);

            expectedText += GetTextLine(inputText.ToUpper());
            expectedText += GetTextLine(inputText);
            Assert.AreEqual(expectedText, capturedText);
        }
Exemplo n.º 7
0
        public PersonalInformation GetUserById(int id)
        {
            PersonalInformation info = UserProvider.GetInfoById(id);

            if (info != null)
            {
                return(info);
            }
            else
            {
                string message = string.Format("User with id {0} does not exits.", id);
                StylishPrinter.PrintLine(message);
                return(null);
            }
        }
Exemplo n.º 8
0
        private void Publish(Publication pub)
        {
            foreach (int id in pub.SubsIDs)
            {
                if (isFullPrinting)
                {
                    PersonalInformation userInfo = UserManager.Instance.GetUserById(id);
                    pub.PubDeliveryMethod.SpecificMessage(userInfo, id);
                }
                else
                {
                    pub.PubDeliveryMethod.SpecificMessage(id);
                }
            }

            StylishPrinter.PrintLine("End of notifying");
        }
Exemplo n.º 9
0
        public UserInfoId CreateUser(string name, string lastName, string gender, DateTime birthDate)
        {
            PersonalInformation personalInfo = new PersonalInformation(name, lastName, gender, birthDate);

            int userId = UserProvider.CreateUser(personalInfo);

            if (userId == -1)
            {
                StylishPrinter.PrintLine("User has not been created. User with this info already exists");
            }
            else
            {
                string message = string.Format("User with id {0} has been created.", userId);
                StylishPrinter.PrintLine(message);
            }

            return(new UserInfoId(personalInfo, userId));
        }
Exemplo n.º 10
0
        public Publication CreatePublication(PublicationBuilder builder)
        {
            Publication publication = builder.GetPublication();

            bool publicationExists = m_Publications.ContainsKey(builder.PublicationCommandName);

            if (!publicationExists)
            {
                publication.EstablishDate = DateTime.Now;
                m_Publications.Add(builder.PublicationCommandName, publication);
                StylishPrinter.PrintLine("Publication with model " + builder.PublicationCommandName + " has been created.");
            }
            else
            {
                StylishPrinter.PrintLine("The publication model " + builder.PublicationCommandName + " already exists! No more creation");
            }

            return(publication);
        }
Exemplo n.º 11
0
 public override bool Execute(string comand, string[] args, Publication publication)
 {
     if (comand == allowedCommands[0])
     {
         Random rnd = new Random();
         StylishPrinter.PrintLine("" + rnd.Next(0, 101));
     }
     else
     {
         if (comand == allowedCommands[1])
         {
             publication.SetState(Next());
         }
         else
         {
             CommandProcessing.CommandProcessor.Instance.WrongCommand();
         }
     }
     return(true);
 }
Exemplo n.º 12
0
 public void PrintInfo()
 {
     StylishPrinter.PrintLine(ToString());
 }
Exemplo n.º 13
0
        public static void DeliveryPrint(int userId, string deliveryMethod)
        {
            string message = string.Format("{0} delivered to user {1}", deliveryMethod, userId);

            StylishPrinter.PrintLine(message);
        }
Exemplo n.º 14
0
        public static void DeliveryPrint(PersonalInformation info, int userId, string deliveryMethod)
        {
            string message = string.Format("{0} delivered to user {1}\nUser Info:\n{2}", deliveryMethod, userId, info.ToString());

            StylishPrinter.PrintLine(message);
        }
Exemplo n.º 15
0
        public override bool Execute(string comand, string[] args, Publication publication)
        {
            if (comand == allowedCommands[0])
            {
                Publish(publication);
            }
            else if (comand == allowedCommands[1])
            {
                if (args != null && args.Length > 0)
                {
                    switch (args[0])
                    {
                    case CourierDelivery:
                        publication.PubDeliveryMethod = Courier.Instance;
                        break;

                    case OnlineDelivery:
                        publication.PubDeliveryMethod = Online.Instance;
                        break;

                    case PostDelivery:
                        publication.PubDeliveryMethod = Post.Instance;
                        break;

                    default:
                        StylishPrinter.PrintLine("Delivery method is not valid!");
                        break;
                    }
                }
                else
                {
                    StylishPrinter.PrintLine("Delivery method argument not provided!");
                }
            }
            else if (comand == allowedCommands[2])
            {
                if (args != null && args.Length > 0)
                {
                    switch (args[0])
                    {
                    case DeliveryFullInfo:
                        isFullPrinting = true;
                        break;

                    case DeliveryIdInfo:
                        isFullPrinting = false;
                        break;

                    default:
                        StylishPrinter.PrintLine("Delivery print status is not valid!");
                        break;
                    }
                }
                else
                {
                    StylishPrinter.PrintLine("Delivery print status argument not provided!");
                }
            }
            else
            {
                CommandProcessing.CommandProcessor.Instance.WrongCommand();
            }

            return(true);
        }