Example #1
0
        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.
        }