public void CleanExerciseReportFile() { var reader = ExerciseReader.CSharpExerciseReader; var outputs = reader.ReadExercises(); var efh = new ExerciseFileHandler(PathNames.Default.Root, Constants.CSharpTrack); var ejp = new ExerciseJsonParser(); var json = ejp.ToString(outputs.ExerciseObjectTree); efh.WriteFile(json); }
public void CreateExerciseFile_FromOriginalConceptsDoc_ProducesValidTree() { var cdi = new ConceptsDocImporter(); var tnci = new TrackNeutralConceptsImporter(); var efc = new ExerciseFileWriter(cdi, tnci); var exerciseFile = efc.CreateExerciseFileFromConceptsDoc(); var efh = new ExerciseJsonParser(); string result = efh.ToString(exerciseFile); Assert.NotNull(exerciseFile); }
public void Serialize_ExerciseFile_ProducesWellFormedJson() { var erh = new ExerciseJsonParser(); var actual = erh.ToString(ObjectHierarchy.Sample1); Stream?resourceStream = this.GetType().Assembly.GetManifestResourceStream(JsonSample1); if (resourceStream == null) { throw new NullException($"{nameof(resourceStream)}"); } string expected; using (resourceStream) using (var reader = new StreamReader(resourceStream)) expected = reader.ReadToEnd(); Assert.Equal(expected.Trim(), actual.Trim()); }
public void Deserialize_WellFormedJson_ProducesObjectTree() { var erh = new ExerciseJsonParser(); var expected = ObjectHierarchy.Sample1; Stream?resourceStream = this.GetType().Assembly.GetManifestResourceStream(JsonSample1); if (resourceStream == null) { throw new NullException($"{nameof(resourceStream)}"); } string sampleJson; using (resourceStream) using (var reader = new StreamReader(resourceStream)) sampleJson = reader.ReadToEnd(); var actual = erh.FromString(sampleJson); var actualString = erh.ToString(actual.Item2); Assert.Equal(sampleJson, actualString); // Assert.Equal(expected, actual); // xunit says they don't match. I wonder if it's checking attributes. }