Test unitaire Assert.AreEqual et Assert.AreEqual<T> ne fonctionnent pas
Salut,
J'ai un souci avec ce test unitaire :
J'ai créé la classe suivante :
Code:
1 2 3 4 5 6 7 8 9 10
|
[Serializable]
public class SerializableClass {
public int Id { get; set; }
public string Name { get; set; }
public SerializableClass[] Sons { get; set; }
public SerializableClass() {
}
} |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
[TestMethod]
public void DeserializeTest()
{
string toDeserialize = @"<?xml version=""1.0"" encoding=""utf-16""?>
<SerializableClass xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema"">
<Id>0</Id>
<Name>00</Name>
<Sons>
<SerializableClass>
<Id>10</Id>
<Name>10</Name>
</SerializableClass>
<SerializableClass>
<Id>11</Id>
<Name>11</Name>
</SerializableClass>
</Sons>
</SerializableClass>";
SerializableClass Level10 = new SerializableClass();
SerializableClass Level11 = new SerializableClass();
SerializableClass Level0 = new SerializableClass();
Level10.Id = 10;
Level10.Name = "10";
Level11.Id = 11;
Level11.Name = "11";
Level0.Id = 00;
Level0.Name = "00";
List<SerializableClass> lstSons = new List<SerializableClass>();
lstSons.Add(Level10);
lstSons.Add(Level11);
Level0.Sons = lstSons.ToArray();
SerializableClass expectedResult = Level0;
SerializationTools<SerializableClass> serializationTools = new SerializationTools<SerializableClass>();
SerializableClass result = serializationTools.Deserialize(toDeserialize);
Assert.AreEqual<SerializableClass>(expectedResult, result);
} |
Le but du test est de vérifier Deserialize qui est dans une classe SerializationTools<T>.
En debug, ça fonctionne, dans le watch les deux objets sont pareils mais le Assert me revoie faux.
D'après vous, il me manque un grain ou j'ai fait une bêtise ?
Merci