public static void Main()
        {
            var userProfile = new UserProfile();

            var validationDecorator = new ValidationDecorator(userProfile);

            // with invalid input

            try
            {
                validationDecorator.Username = "******";
            }
            catch (ArgumentException e)
            {
                Console.WriteLine(e.Message);
            }

            try
            {
                validationDecorator.Password = "******";
            }
            catch (ArgumentException e)
            {
                Console.WriteLine(e.Message);
            }

            // with valid input

            validationDecorator.Username = "******";
            validationDecorator.Password = "******";

            Console.WriteLine("Username: "******"Password: "******"ivan";
            }
            catch (ArgumentException e)
            {
                Console.WriteLine(e.Message);
            }

            try
            {
                encryptionDecorator.Password = "******";
            }
            catch (ArgumentException e)
            {
                Console.WriteLine(e.Message);
            }

            encryptionDecorator.Username = "******";
            encryptionDecorator.Password = "******";

            Console.WriteLine("Username: "******"Encrypted password: " + userProfile.Password);
        }
        public static void Main()
        {
            var userProfile = new UserProfile();

            var validationDecorator = new ValidationDecorator(userProfile);

            // with invalid input

            try
            {
                validationDecorator.Username = "******";
            }
            catch (ArgumentException e)
            {
                Console.WriteLine(e.Message);
            }

            try
            {
                validationDecorator.Password = "******";
            }
            catch (ArgumentException e)
            {
                Console.WriteLine(e.Message);
            }

            // with valid input

            validationDecorator.Username = "******";
            validationDecorator.Password = "******";

            Console.WriteLine("Username: "******"Password: "******"ivan";
            }
            catch (ArgumentException e)
            {
                Console.WriteLine(e.Message);
            }

            try
            {
                encryptionDecorator.Password = "******";
            }
            catch (ArgumentException e)
            {
                Console.WriteLine(e.Message);
            }

            encryptionDecorator.Username = "******";
            encryptionDecorator.Password = "******";

            Console.WriteLine("Username: "******"Encrypted password: " + userProfile.Password);
        }