public Function() { _queueReader = new SongQueueReader(); _queueWriter = new SongQueueWriter(); _library = new LibraryWriter(); _songs = new SongReader(); }
public void Init() { var dir = Path.GetDirectoryName(typeof(LibraryWriterTest).Assembly.Location); Environment.CurrentDirectory = dir ?? throw new InvalidOperationException("Directory can't be null"); _path = $"{Directory.GetCurrentDirectory()}\\MyLibrary.xml"; _schemaPath = $"{Directory.GetCurrentDirectory()}\\library.xsd"; FileStream fs = new FileStream(_path, FileMode.Create, FileAccess.Write); _libraryWriter = new LibraryWriter(fs); }
static void Main(string[] args) { #region Library reader //LibraryReader lreader = new LibraryReader(File.OpenRead($@"{Directory.GetCurrentDirectory()}\library.xml"), $@"{Directory.GetCurrentDirectory()}\library.xsd"); //foreach (LibraryElement el in lreader) //{ // Console.WriteLine(el.Name); // Console.WriteLine(el.PagesCount); // Console.WriteLine(el.Note); //} //var books = lreader.Where(element => element.GetType() == typeof(Book)).Select(element => (Book)element); //foreach (var book in books) //{ // Console.WriteLine(book.Name); // Console.WriteLine(book.PagesCount); // Console.WriteLine(book.Note); // Console.WriteLine(book.InternationNumber); // Console.WriteLine(book.Autor); // Console.WriteLine(book.PublishingYear); //} //lreader.Close(); #endregion #region Library writer FileStream fs = new FileStream($"{Directory.GetCurrentDirectory()}\\MyLibrary.xml", FileMode.Create, FileAccess.Write); LibraryWriter lw = new LibraryWriter(fs); List <LibraryElement> libraryElements = new List <LibraryElement>() { new Book { Name = "test", Note = "test", PagesCount = 500, Autor = "test", InternationNumber = "test", PublishingHouse = "test", PublishingName = "test", //PublishingYear = 2018 } }; lw.Write(libraryElements, "TestWriter"); //lw.Close(); #endregion Console.ReadLine(); }
public void Write() { using (Stream targetStream = new MemoryStream()) { var songs = new[] { Helpers.LocalSong1, Helpers.LocalSong2 }; var playlists = new[] { Helpers.Playlist1, Helpers.Playlist2 }; LibraryWriter.Write(songs, playlists, targetStream); string expected = Helpers.GenerateSaveFile(); string actual = Helpers.StreamToString(targetStream).Replace("\r\n", String.Empty); Assert.AreEqual(expected, actual); } }
public void Write_should_write_empty_file_without_elements() { //Arange var path = $"{Directory.GetCurrentDirectory()}\\BrokenLibrary.xml"; var streamWrite = new FileStream(path, FileMode.Create, FileAccess.Write); //Act var libraryWriter = new LibraryWriter(streamWrite); libraryWriter.Write(GetMockedUnCorectLibraryElements(), "BrokenLibrary"); libraryWriter.Close(); var streamRead = new FileStream(path, FileMode.Open, FileAccess.Read); var libraryReader = new LibraryReader(streamRead, _schemaPath); libraryReader.Close(); //Assert Assert.That(!libraryReader.Any()); }
public void CanToWriteRealCollectioToRealFileTest() { List <IElement> library; var settings = new LibrarySettings(); var outSettings = new OutputSettings(); var stream = new FileStream(PathStrings.FileToRead, FileMode.Open); using (stream) { library = new LibraryReader <IElement>(stream, settings).ToList(); } stream = new FileStream(PathStrings.FileToWrite, FileMode.Create); using (stream) { var writer = new LibraryWriter <IElement>(library, settings); writer.WriteXElements(stream, outSettings); } }
private string WriteXmlString <T>(List <T> collecton, bool withFailSettings = false) where T : class { var outSettings = new OutputSettings(); var settings = new LibrarySettings(); if (withFailSettings) { settings.MainElementName = null; } var stream = new MemoryStream(); string result; using (stream) { var writer = new LibraryWriter <T>(collecton, settings); writer.WriteXElements(stream, outSettings); stream.Position = 0; result = new StreamReader(stream).ReadToEnd(); } return(result); }