public void WhenWriteWithSuperPeopleNull_ThenThrows() { // Arrange List <SuperPerson> superPeople = null; SuperXmlSerializer target = new SuperXmlSerializer(); XmlWriterSettings writerSettings = new XmlWriterSettings(); writerSettings.CloseOutput = false; writerSettings.Encoding = System.Text.Encoding.UTF8; writerSettings.Indent = false; writerSettings.OmitXmlDeclaration = false; using (StringWriter stringWriter = new StringWriter()) { // Act using (XmlWriter writer = XmlWriter.Create(stringWriter, writerSettings)) { target.Write(writer, superPeople); } } // Assert }
public void WhenReadWithEmptySet_ThenReturnsEmptyCollection() { // Note: Example of using strings for XML // Arrange string inputXml = "<SuperPeople></SuperPeople>"; SuperXmlSerializer target = new SuperXmlSerializer(); XmlReaderSettings settings = new XmlReaderSettings(); settings.CloseInput = false; settings.IgnoreWhitespace = true; settings.IgnoreComments = true; // Act IEnumerable <SuperPerson> actual; using (StringReader stringReader = new StringReader(inputXml)) { using (XmlReader reader = XmlReader.Create(stringReader, settings)) { actual = target.Read(reader); } } // Assert Assert.IsNotNull(actual); Assert.AreEqual(0, actual.Count()); }
public void WhenWriteWithWriterNull_ThenThrows() { // Arrange List <SuperPerson> superPeople = new List <SuperPerson>() { new SuperPerson() { Id = 1, Name = "Superman", Allegiance = TeamNames.SuperFriends, Rank = 1, Health = 1000, Strength = 10, Resistance = 80, Intellect = 20, Speed = 60 }, }; SuperXmlSerializer target = new SuperXmlSerializer(); XmlWriter writer = null; // Act target.Write(writer, superPeople); // Assert }
public void WhenConstructed_ThenInstantiated() { // Arrange // Act SuperXmlSerializer actual = new SuperXmlSerializer(); // Assert Assert.IsNotNull(actual); }
public void WhenWriteWithOneSuperPerson_ThenWritesXml() { // Arrange List <SuperPerson> superPeople = new List <SuperPerson>() { new SuperPerson() { Id = 1, Name = "Superman", Allegiance = TeamNames.SuperFriends, Rank = 1, Health = 1000, Strength = 10, Resistance = 80, Intellect = 20, Speed = 60 }, }; // Note: Example of using complex XML string with TestDataLoader for expected // Note: Would skip in favor of TestDataLoader string expected = "<SuperPeople>" + "<SuperPerson Id='1' Name='Superman' Allegiance='Super Friends' Rank='1' Health='1000' Strength='10' Speed='60' Resistance='80' Intellect='20'></SuperPerson>" + "</SuperPeople>"; SuperXmlSerializer target = new SuperXmlSerializer(); XmlWriterSettings writerSettings = new XmlWriterSettings(); writerSettings.CloseOutput = false; writerSettings.Encoding = System.Text.Encoding.UTF8; writerSettings.Indent = false; writerSettings.OmitXmlDeclaration = false; // Act string actual; using (StringWriter stringWriter = new StringWriter()) { using (XmlWriter writer = XmlWriter.Create(stringWriter, writerSettings)) { target.Write(writer, superPeople); writer.Flush(); stringWriter.Flush(); actual = stringWriter.ToString(); } } // Assert AssertXml.AreEqual(expected, actual); }
public void WhenReadWithReaderNull_ThenThrows() { // Arrange SuperXmlSerializer target = new SuperXmlSerializer(); XmlReader reader = null; // Act target.Read(reader); // Assert }
public void WhenReadAndWrite_ThenRoundtripsXml() { // Arrange string inputXml = TestDataLoader.LoadText("TestData.SuperPeople.Valid.xml"); string expected = inputXml; SuperXmlSerializer target = new SuperXmlSerializer(); XmlReaderSettings settings = new XmlReaderSettings(); settings.CloseInput = false; settings.IgnoreWhitespace = true; settings.IgnoreComments = true; XmlWriterSettings writerSettings = new XmlWriterSettings(); writerSettings.CloseOutput = false; writerSettings.Encoding = System.Text.Encoding.UTF8; writerSettings.Indent = false; writerSettings.OmitXmlDeclaration = false; // Act IEnumerable <SuperPerson> superPeople; using (StringReader stringReader = new StringReader(inputXml)) { using (XmlReader reader = XmlReader.Create(stringReader, settings)) { superPeople = target.Read(reader); } } string actual; using (StringWriter stringWriter = new StringWriter()) { using (XmlWriter writer = XmlWriter.Create(stringWriter, writerSettings)) { target.Write(writer, superPeople); writer.Flush(); stringWriter.Flush(); actual = stringWriter.ToString(); } } // Assert AssertXml.AreEqual(expected, actual); }
public void WhenReadWithValidXml_ThenReturnsCollection() { // Note: Example of using embedded resource XML with TestDataLoader for input // Arrange string inputXml = TestDataLoader.LoadText("TestData.SuperPeople.Valid.xml"); SuperXmlSerializer target = new SuperXmlSerializer(); XmlReaderSettings settings = new XmlReaderSettings(); settings.CloseInput = false; settings.IgnoreWhitespace = true; settings.IgnoreComments = true; // Act IEnumerable <SuperPerson> actual; using (StringReader stringReader = new StringReader(inputXml)) { using (XmlReader reader = XmlReader.Create(stringReader, settings)) { actual = target.Read(reader); } } // Assert Assert.IsNotNull(actual); Assert.AreEqual(5, actual.Count()); int i = 1; foreach (var actualItem in actual) { Assert.AreEqual(i, actualItem.Id); Assert.AreEqual("Name" + i.ToString(), actualItem.Name); Assert.AreEqual("Allegiance" + i.ToString(), actualItem.Allegiance); Assert.AreEqual(i, actualItem.Rank); Assert.AreEqual(i, actualItem.Health); Assert.AreEqual(i, actualItem.Strength); Assert.AreEqual(i, actualItem.Speed); Assert.AreEqual(i, actualItem.Resistance); Assert.AreEqual(i, actualItem.Intellect); i++; } }
public void WhenReadWithEmptyXml_ThenThrows() { // Arrange string inputXml = ""; SuperXmlSerializer target = new SuperXmlSerializer(); XmlReaderSettings settings = new XmlReaderSettings(); settings.CloseInput = false; settings.IgnoreWhitespace = true; settings.IgnoreComments = true; // Act using (StringReader stringReader = new StringReader(inputXml)) { using (XmlReader reader = XmlReader.Create(stringReader, settings)) { target.Read(reader); } } // Assert }
public void WhenWriteWithEmptyCollection_ThenCreatesXml() { // Arrange List <SuperPerson> superPeople = new List <SuperPerson>(); string expected = "<SuperPeople></SuperPeople>"; SuperXmlSerializer target = new SuperXmlSerializer(); XmlWriterSettings writerSettings = new XmlWriterSettings(); writerSettings.CloseOutput = false; writerSettings.Encoding = System.Text.Encoding.UTF8; writerSettings.Indent = false; writerSettings.OmitXmlDeclaration = false; string actual; using (StringWriter stringWriter = new StringWriter()) { // Act using (XmlWriter writer = XmlWriter.Create(stringWriter, writerSettings)) { target.Write(writer, superPeople); writer.Flush(); stringWriter.Flush(); actual = stringWriter.ToString(); } // Note: Example of using AssertXml for comparison // Assert AssertXml.AreEqual(expected, actual); } }
public void WhenWrite_ThenWritesXml() { // Arrange List <SuperPerson> superPeople = new List <SuperPerson>() { new SuperPerson() { Id = 1, Name = "Name1", Allegiance = "Allegiance1", Rank = 1, Health = 1, Strength = 1, Resistance = 1, Intellect = 1, Speed = 1 }, new SuperPerson() { Id = 2, Name = "Name2", Allegiance = "Allegiance2", Rank = 2, Health = 2, Strength = 2, Resistance = 2, Intellect = 2, Speed = 2 }, new SuperPerson() { Id = 3, Name = "Name3", Allegiance = "Allegiance3", Rank = 3, Health = 3, Strength = 3, Resistance = 3, Intellect = 3, Speed = 3 }, new SuperPerson() { Id = 4, Name = "Name4", Allegiance = "Allegiance4", Rank = 4, Health = 4, Strength = 4, Resistance = 4, Intellect = 4, Speed = 4 }, new SuperPerson() { Id = 5, Name = "Name5", Allegiance = "Allegiance5", Rank = 5, Health = 5, Strength = 5, Resistance = 5, Intellect = 5, Speed = 5 }, }; // Note: Example of using embedded resource XML with TestDataLoader for expected results string expected = TestDataLoader.LoadText("TestData.SuperPeople.Valid.xml"); SuperXmlSerializer target = new SuperXmlSerializer(); XmlWriterSettings writerSettings = new XmlWriterSettings(); writerSettings.CloseOutput = false; writerSettings.Encoding = System.Text.Encoding.UTF8; writerSettings.Indent = false; writerSettings.OmitXmlDeclaration = false; // Act string actual; using (StringWriter stringWriter = new StringWriter()) { using (XmlWriter writer = XmlWriter.Create(stringWriter, writerSettings)) { target.Write(writer, superPeople); writer.Flush(); stringWriter.Flush(); actual = stringWriter.ToString(); } } // Assert AssertXml.AreEqual(expected, actual); }