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; }
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); }
public GivenADefinitionOfAnExercise() { var mock = new Mock<IExerciseTemplate>(); mock .Setup(m => m.Template) .Returns(Template); ExerciseDefinition = new ExerciseDefinition("", mock.Object); }
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(); }