コード例 #1
0
        private static IExerciseDefinition GetExercise(XElement exerciseXml, IDictionary<string, IConstraint> allConstraints)
        {
            var exercise = new ExerciseDefinition(exerciseXml.Attribute("name").Value,
                                                  new ExerciseTemplate(exerciseXml.Attribute("template").Value));

            var numbersXml = from n in exerciseXml.Descendants("numbers").First().Descendants("number")
                             select n;

            foreach (var number in numbersXml)
            {
                var minValue = int.Parse(number.Attribute("minvalue").Value);
                var maxValue = int.Parse(number.Attribute("maxvalue").Value);
                var decimals = int.Parse(number.Attribute("decimals").Value);
                exercise.AddNumberDefinition(new NumberDefinition("", minValue, maxValue, decimals));
            }

            var constraintsRoot = exerciseXml.Descendants("constraints").FirstOrDefault();
            if (constraintsRoot != null)
            {
                var constraintsXml = from c in constraintsRoot.Descendants("constraint")
                                     select c;

                foreach (var constraint in constraintsXml)
                {
                    var constraintName = constraint.Attribute("type").Value;

                    exercise.AddConstraint(allConstraints[constraintName]);
                }
            }

            return exercise;
        }
コード例 #2
0
 private static string CreateExercise(RandomNumberGenerator randomNumberGenerator)
 {
     var ed = new ExerciseDefinition("", new ExerciseTemplate("{0} + {1} = "));
     ed.AddNumberDefinition(new NumberDefinition("", 0, 100));
     ed.AddNumberDefinition(new NumberDefinition("", 0, 100));
     return ed.CreateExercise(randomNumberGenerator);
 }
コード例 #3
0
        public GivenADefinitionOfAnExercise()
        {
            var mock = new Mock<IExerciseTemplate>();
            mock
                .Setup(m => m.Template)
                .Returns(Template);

            ExerciseDefinition = new ExerciseDefinition("", mock.Object);
        }
コード例 #4
0
        private void SaveButtonClicked()
        {
            if (!IsValid())
                return;

            var exercise = new ExerciseDefinition(_exerciseName, new ExerciseTemplate(_exerciseTemplate));

            foreach (var number in _numbers)
            {
                exercise.AddNumberDefinition(number);
            }

            foreach (var constraint in _constraints)
            {
                exercise.AddConstraint(constraint);
            }

            try
            {
                _saveExerciseHandler.SaveExercise(exercise);
            }
            catch (Exception e)
            {
                _window.Message(e.Message);
                return;
            }

            CloseWindow();
        }