Salut,

J'ai un souci avec ce test unitaire :

J'ai créé la classe suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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