Ejemplo n.º 1
0
        public static Prompter Checkbox(this Prompter prompter, string name, FunctionOrColorString message,
                                        IEnumerable <string> choices, Action <CheckboxQuestion> setupQuestion = null)
        {
            var question = new CheckboxQuestion(name, message, choices);

            setupQuestion?.Invoke(question);
            prompter.Add(question);
            return(prompter);
        }
Ejemplo n.º 2
0
        public static void Main(string[] args)
        {
            var tf = new TrueFalseQuestion("You know the rules and so do I.", true);
            var mc = new MultipleChoiceQuestion("What am I never gonna do?", "Give you up*,Let you out,Dessert you");
            var cb = new CheckboxQuestion("Which of the following am I never gonna do?", "Make you cry*,Say goodbye*,Tell a lie*,Hurt you*");

            // exception handling tests
            //var badMc1 = new MultipleChoiceQuestion("What am I never gonna do?", "Give you up*,Let you out*,Dessert you");
            //var badMc2 = new MultipleChoiceQuestion("What am I never gonna do?", "Give you up,Let you out,Dessert you");

            Quiz quiz = new Quiz();

            quiz.Questions.Add(1, tf);
            quiz.Questions.Add(2, mc);
            quiz.Questions.Add(3, cb);


            foreach (var question in quiz.Questions)
            {
                Console.WriteLine($"{question.Key.ToString()}. {question.Value.Text}");

                foreach (var choice in question.Value.Choices)
                {
                    Console.WriteLine($"{choice.Key}. {choice.Value}");
                }
                Console.WriteLine("");

                Console.WriteLine(question.Value.GetInstructions());

                var answer = Console.ReadLine();
                quiz.SetUserAnswer(question.Key, answer);

                Console.WriteLine("");
            }


            var results = quiz.GetResults();

            foreach (var result in results)
            {
                Console.WriteLine(result);
            }


            Console.ReadLine();
        }