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() { var obj1 = new Personnage("Personnage 1", 0, "", 0, 0, "", "", ""); var obj2 = new Personnage("Personnage 2", 0, "", 0, 0, "", "", ""); var listePerso = new List { obj1, obj2, }; serializer.SetPersonnage(listePerso); 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() { 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); } var result = serializer.GetPersonnages(); Assert.NotNull(result); var resultList = result.ToList(); Assert.Contains(obj1, result); Assert.Contains(obj2, result); } [Fact] public void SetEquipages_SerializesAndWritesToFile() { var obj1 = new Equipage("Equipage 1", "","", 0, 0,true, ""); var obj2 = new Equipage("Equipage 2", "", "", 0, 0, true, ""); var listeEquip = new List { obj1, obj2, }; serializer.SetEquipage(listeEquip); string xmlFilePath = Path.Combine(serializer.Chemin, "equipage.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 GetEquipages_ReadsFromFileAndDeserializes() { var obj1 = new Equipage("Equipage 1", "", "", 0, 0, true, ""); var obj2 = new Equipage("Equipage 2", "", "", 0, 0, true, ""); var listeEquip = new List { obj1, obj2, }; string xmlFilePath = Path.Combine(serializer.Chemin, "equipage.xml"); using (Stream stream = File.Create(xmlFilePath)) { var xmlSerializer = new DataContractSerializer(typeof(List)); xmlSerializer.WriteObject(stream, listeEquip); } // Act var result = serializer.GetEquipages(); // Assert Assert.NotNull(result); var resultList = result.ToList(); Assert.Contains(obj1, result); Assert.Contains(obj2, result); } [Fact] public void SetFDD_SerializesAndWritesToFile() { /// Arrange var obj1 = new FruitDuDemon("Fruit 1", "","", 0, 0, "", "", ""); var obj2 = new FruitDuDemon("Fruit 2", "", "", 0, 0, "", "", ""); var listFDD = new List { obj1, obj2, }; // Act serializer.SetFDD(listFDD); // Assert string xmlFilePath = Path.Combine(serializer.Chemin, "fruitdudemon.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 GetFDD_ReadsFromFileAndDeserializes() { var obj1 = new FruitDuDemon("Fruit 1", "", "", 0, 0, "", "", ""); var obj2 = new FruitDuDemon("Fruit 2", "", "", 0, 0, "", "", ""); var listFDD = new List { obj1, obj2, }; string xmlFilePath = Path.Combine(serializer.Chemin, "fruitdudemon.xml"); using (Stream stream = File.Create(xmlFilePath)) { var xmlSerializer = new DataContractSerializer(typeof(List)); xmlSerializer.WriteObject(stream, listFDD); } // Act var result = serializer.GetFruits(); // Assert Assert.NotNull(result); var resultList = result.ToList(); Assert.Contains(obj1, result); Assert.Contains(obj2, result); } [Fact] public void SetBestiaire_SerializesAndWritesToFile() { /// Arrange var obj1 = new Bestiaire("Bestiaire 1", "", "", ""); var obj2 = new Bestiaire("Bestiaire 2", "", "", ""); var listBest = new List { obj1, obj2, }; // Act serializer.SetBestiaire(listBest); // Assert string xmlFilePath = Path.Combine(serializer.Chemin, "bestiaire.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 GetBestiaire_ReadsFromFileAndDeserializes() { // Arrange var obj1 = new Bestiaire("Bestiaire 1", "", "", ""); var obj2 = new Bestiaire("Bestiaire 2", "", "", ""); var listBest = new List { obj1, obj2, }; string xmlFilePath = Path.Combine(serializer.Chemin, "bestiaire.xml"); using (Stream stream = File.Create(xmlFilePath)) { var xmlSerializer = new DataContractSerializer(typeof(List)); xmlSerializer.WriteObject(stream, listBest); } // Act var result = serializer.GetBestiaires(); // Assert Assert.NotNull(result); var resultList = result.ToList(); Assert.Contains(obj1, result); Assert.Contains(obj2, result); } [Fact] public void SetBateau_SerializesAndWritesToFile() { var obj1 = new Bateau("Bateau 1", "", 0, 0, "", "", ""); var obj2 = new Bateau("Bateau 2", "", 0, 0, "", "", ""); var listeBateau = new List { obj1, obj2, }; serializer.SetBateau(listeBateau); string xmlFilePath = Path.Combine(serializer.Chemin, "bateaux.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 GetBateau_ReadsFromFileAndDeserializes() { var obj1 = new Bateau("Bateau 1", "", 0, 0, "", "", ""); var obj2 = new Bateau("Bateau 2", "", 0, 0, "", "", ""); var listeBateau = new List { obj1, obj2, }; string xmlFilePath = Path.Combine(serializer.Chemin, "bateaux.xml"); using (Stream stream = File.Create(xmlFilePath)) { var xmlSerializer = new DataContractSerializer(typeof(List)); xmlSerializer.WriteObject(stream, listeBateau); } var result = serializer.GetBateaux(); Assert.NotNull(result); var resultList = result.ToList(); Assert.Contains(obj1, result); Assert.Contains(obj2, result); } [Fact] public void SetIle_SerializesAndWritesToFile() { var obj1 = new Ile("Ile 1", "","", 0, 0, "", ""); var obj2 = new Ile("Ile 2", "", "",0, 0, "", ""); var listeIle = new List { obj1, obj2, }; serializer.SetIle(listeIle); string xmlFilePath = Path.Combine(serializer.Chemin, "iles.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 GetIle_ReadsFromFileAndDeserializes() { var obj1 = new Ile("Ile 1", "", "", 0, 0, "", ""); var obj2 = new Ile("Ile 2", "", "", 0, 0, "", ""); var listeIle = new List { obj1, obj2, }; string xmlFilePath = Path.Combine(serializer.Chemin, "iles.xml"); using (Stream stream = File.Create(xmlFilePath)) { var xmlSerializer = new DataContractSerializer(typeof(List)); xmlSerializer.WriteObject(stream, listeIle); } var result = serializer.GetIles(); Assert.NotNull(result); var resultList = result.ToList(); Assert.Contains(obj1, result); Assert.Contains(obj2, result); } } }