public void XmlDocumentReader_CanReadXml_WithValidPath()
        {
            var fileName          = Path.Combine(GetExecutingDirectoryName(), "Data", "Profile.xml");
            var xmlDocumentReader = new XmlDocumentReader(fileName);

            xmlDocumentReader.ReadXml()
            .Should()
            .BeTrue("because we know the XML is alright");
        }
        private Reader CreateReader(Stream input, Encoding encoding, out bool forceHypermedia)
        {
            Reader reader;

            forceHypermedia = false;

            var settings = new SerializationSettings {
                Encoding = encoding, KeepOpen = true
            };

            switch (mimeType)
            {
            case Json:
            case JsonSiren:
            {
                reader = new JsonReader(input, settings);
                break;
            }

            case Xml:
            case XmlSiren:
            {
                reader = new XmlDocumentReader(input, settings);
                break;
            }

            case Csv:
            {
                reader = new CsvReader(input, settings);
                break;
            }

            case Excel:
            {
                throw new MediaException(HttpStatusCode.NotAcceptable);
            }

            default:
            {
                reader = Reader.CreateReader(input, settings);
                break;
            }
            }

            if (reader is CsvReader)
            {
                reader = new TransformReader(reader, new CsvRowsTransform());
            }

            return(reader);
        }
        public void GetXDocument_InvalidPath_ThrowsExpectedException()
        {
            var       fileReader        = new XmlDocumentReader();
            Exception expectedException = null;

            try
            {
                fileReader.GetXDocument(@"garbarge.txt");
            }
            catch (Exception e)
            {
                expectedException = e;
            }

            Assert.IsNotNull(expectedException);
            Assert.AreEqual(@"File specified by garbarge.txt does not exist", expectedException.Message);
        }
        private Settings LoadSettings()
        {
            var settings = new Settings();

            try
            {
                FileHelper.EnsureFolderExists(Constants.SettingsFilePath);
                if (File.Exists(Constants.SettingsFilePath))
                {
                    var doc        = new XmlDocumentReader(Constants.SettingsFilePath);
                    var rootReader = doc.GetRootReader(RootElementName);

                    settings.Load(rootReader);
                }
            }
            catch (Exception)
            {
            }
            return(settings);
        }
        public void GetLines_EmptyFile_ThrowsExpectedException()
        {
            string filename = "empty.txt";

            using (File.Create(filename));
            var       fileReader        = new XmlDocumentReader();
            Exception expectedException = null;

            try
            {
                fileReader.GetXDocument(filename);
            }
            catch (Exception e)
            {
                expectedException = e;
            }
            File.Delete(filename);

            Assert.IsNotNull(expectedException);
            Assert.AreEqual(@"File specified by empty.txt is empty", expectedException.Message);
        }