public void DuplicateQuestionAsync_DuplicatesTests()
        {
            var database = GetDatabase().Build();
            var question = database.Context.ClassQuestions
                .Include(q => q.Tests)
                .First();

            var duplicator = new ClassQuestionDuplicator(database.Context, question);
            var result = (ClassQuestion)duplicator.DuplicateQuestion();

            Assert.Equal(1, result.Tests.Count);
            Assert.True(question.Tests[0] != result.Tests[0]);
            Assert.Equal("Test", result.Tests[0].Name);
            Assert.Equal(0, result.Tests[0].Id);
        }
        public void DuplicateQuestionAsync_DuplicatesRequiredMethods()
        {
            var database = GetDatabase().Build();
            var question = database.Context.ClassQuestions
                           .Include(q => q.RequiredMethods)
                           .First();

            var duplicator = new ClassQuestionDuplicator(database.Context, question);
            var result     = (ClassQuestion)duplicator.DuplicateQuestion();

            Assert.Equal(1, result.RequiredMethods.Count);
            Assert.True(question.RequiredMethods[0] != result.RequiredMethods[0]);
            Assert.Equal("Required", result.RequiredMethods[0].Name);
            Assert.Equal(0, result.RequiredMethods[0].Id);
        }