Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
09/12/11 10:12:50 (13 years ago)
Author:
epitzer
Message:

#1530 Split type and serializer tokens and include special handling for CachedTypeSerializer (this should also fix #1527)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/PersistenceSpeedUp/HeuristicLab.Persistence/3.3/Tests/UseCases.cs

    r6228 r6737  
    11291129      Assert.AreEqual("ROOT", ((BeginToken)it.Current).Name); it.MoveNext();
    11301130      Assert.AreEqual("ReadOnly", ((PrimitiveToken)it.Current).Name); it.MoveNext();
    1131       Assert.AreEqual("ROOT", ((EndToken)it.Current).Name); it.MoveNext();
    1132       var deserializer = new Deserializer(new[] {
    1133         new TypeMapping(0, typeof(OneWayTest).AssemblyQualifiedName, typeof(StorableSerializer).AssemblyQualifiedName),
    1134         new TypeMapping(1, typeof(string).AssemblyQualifiedName, typeof(String2XmlSerializer).AssemblyQualifiedName) });
     1131      ReverseTypeCache typeCache = new ReverseTypeCache();
     1132      typeCache.AddType(0, typeof(OneWayTest));
     1133      typeCache.AddSerializer(0, typeof(StorableSerializer));
     1134      typeCache.AddType(1, typeof(string));
     1135      typeCache.AddSerializer(1, typeof(String2XmlSerializer));
     1136      var deserializer = new Deserializer(typeCache);
    11351137      var newTest = (OneWayTest)deserializer.Deserialize(new ISerializationToken[] {
    11361138        new BeginToken("ROOT", 0, 0),
    11371139        new PrimitiveToken("WriteOnly", 1, 1, new XmlString("<![CDATA[serial data]]>")),
    1138         new EndToken("ROOT", 0, 0)
     1140        new EndToken()
    11391141      });
    11401142      Assert.AreEqual("serial data", newTest.value);
     
    11681170    }
    11691171
     1172    [TestMethod]
     1173    public void TestCachedTypeSerializer() {
     1174      List<Type> types = new List<Type> { typeof(object), typeof(UseCases), typeof(XmlGenerator) };
     1175      var s = new Serializer(types, ConfigurationService.Instance.GetDefaultConfig(new XmlFormat()));
     1176      var tokens = s.ToList();
     1177      foreach (var type in types)
     1178        Assert.IsTrue(s.SerializedTypes.Contains(type));
     1179      var d = new Deserializer(s.TypeCache.Reverse());
     1180      var newTypes = (List<Type>)d.Deserialize(tokens);
     1181      for (int i = 0; i < types.Count; i++)
     1182        Assert.AreEqual(types[i], newTypes[i]);
     1183    }
     1184
    11701185
    11711186
Note: See TracChangeset for help on using the changeset viewer.