You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
76 lines
2.3 KiB
76 lines
2.3 KiB
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<Personnage>
|
|
{
|
|
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<Personnage>));
|
|
var result = deserializer.ReadObject(stream) as List<Personnage>;
|
|
|
|
|
|
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<Personnage>
|
|
{
|
|
obj1,
|
|
obj2,
|
|
};
|
|
string xmlFilePath = Path.Combine(serializer.Chemin, "personnage.xml");
|
|
using (Stream stream = File.Create(xmlFilePath))
|
|
{
|
|
var xmlSerializer = new DataContractSerializer(typeof(List<Personnage>));
|
|
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);
|
|
}
|
|
}
|
|
}
|