예제 #1
0
        public static Test<string> GetTest()
        {
            var test = new Test<string>("Test");

            var question =
                new Question<string>(
                    "В каком случае в одной области видимости можно объявить два делегата с одним именем?",
                    ComplexityLevel.Hard);
            question.AddAnswer(new Answer<string>("Если у делегатов различное количество параметров.", false));
            question.AddAnswer(new Answer<string>("Ни в каком.", true));
            var textAnswer = new Answer<string>("Если они хранят один и тот же метод.", false);
            question.AddAnswer(textAnswer);
            test.AddQuestion(question);

            question = new Question<string>("Какое утверждение об интерфейсах (Ин.) справедливо?", new Range<int>(2, 2),
                                            ComplexityLevel.Hard);
            question.AddAnswer(new Answer<string>("Ин. поддерживают множественное наследование.", true));
            question.AddAnswer(new Answer<string>("Ин. могут содержать поля.", false));
            question.AddAnswer(new Answer<string>("Ин. могут содержать конструкторы.", false));
            question.AddAnswer(new Answer<string>("Ин. могут содержать cвойства, методы, события", true));
            test.AddQuestion(question);

            question = new Question<string>("Ключевое слово sealed применимо к...", ComplexityLevel.Easy);
            question.AddAnswer(new Answer<string>("Полям.", false));
            question.AddAnswer(new Answer<string>("Интерфейсам.", false));
            question.AddAnswer(new Answer<string>("Методам.", true));
            test.AddQuestion(question);

            question = new Question<string>("Что является особенностью пользовательских структур?", ComplexityLevel.Easy);
            question.AddAnswer(new Answer<string>("Структуры не поддерживают наследование.", true));
            question.AddAnswer(new Answer<string>("Структура не может содержать событий.", false));
            test.AddQuestion(question);

            question =
                new Question<string>(
                    "Какое ключевое слово используется в производном классе для вызова конструктора класса-предка?",
                    ComplexityLevel.Easy);
            question.AddAnswer(new Answer<string>("class", false));
            question.AddAnswer(new Answer<string>("base", true));
            question.AddAnswer(new Answer<string>("this", false));
            test.AddQuestion(question);

            question =
                new Question<string>("В групповой делегат объединили 3 функции и произвели вызов. Что будет получено?");
            question.AddAnswer(new Answer<string>("Исключительная ситуация.", false));
            question.AddAnswer(new Answer<string>("Массив из трех значений.", false));
            question.AddAnswer(new Answer<string>("Значение последней функции в цепочке.", true));
            test.AddQuestion(question);

            return test;
        }
예제 #2
0
 public static void TestXmlSerializing()
 {
     var answer = new Answer<string>("Ответ.", true);
     var xs = new XmlSerializer<Answer<string>>();
     using (var fileStream = File.Create(Path.Combine("save", "answer.xml")))
     {
         xs.Serialize(fileStream, answer);
     }
     using (var fileStream = File.OpenRead(Path.Combine("save", "answer.xml")))
     {
         var deserializedAnswer = xs.Deserialize(fileStream);
         Debug.Assert(deserializedAnswer.Contents == answer.Contents);
     }
 }