using Model.Classes; using Model.Serializer; using System; using System.Collections.Generic; using System.Linq; using System.Runtime.Serialization; using System.Text; using System.Threading.Tasks; namespace TestProject1 { public class XMLSerializerTests { public XML_Serializer serializer = new XML_Serializer(); [Fact] public void SetPersonnage_SerializesAndWritesToFile() { /// Arrange var obj1 = new Personnage("Personnage 1", 0, "", 0, 0, "", "", ""); var obj2 = new Personnage("Personnage 2", 0, "", 0, 0, "", "", ""); var listePerso = new List { obj1, obj2, }; // Act serializer.SetPersonnage(listePerso); // Assert string xmlFilePath = Path.Combine(serializer.Chemin, "personnage.xml"); Assert.True(File.Exists(xmlFilePath)); using (Stream stream = File.OpenRead(xmlFilePath)) { var deserializer = new DataContractSerializer(typeof(List)); var result = deserializer.ReadObject(stream) as List; Assert.NotNull(result); Assert.Contains(obj1,result); Assert.Contains(obj2,result); } } [Fact] public void GetPersonnages_ReadsFromFileAndDeserializes() { // Arrange var obj1 = new Personnage("Personnage 1", 0, "", 0, 0, "", "", ""); var obj2 = new Personnage("Personnage 2", 0, "", 0, 0, "", "", ""); var listePerso = new List { obj1, obj2, }; string xmlFilePath = Path.Combine(serializer.Chemin, "personnage.xml"); using (Stream stream = File.Create(xmlFilePath)) { var xmlSerializer = new DataContractSerializer(typeof(List)); xmlSerializer.WriteObject(stream, listePerso); } // Act var result = serializer.GetPersonnages(); // Assert Assert.NotNull(result); var resultList = result.ToList(); Assert.Contains(obj1, result); Assert.Contains(obj2, result); } } }