Changeset 1938 for trunk/sources/HeuristicLab.Persistence/UnitTests
- Timestamp:
- 05/28/09 18:06:43 (16 years ago)
- Location:
- trunk/sources/HeuristicLab.Persistence/UnitTests
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Persistence/UnitTests/StorableAttributeTests.cs
r1823 r1938 4 4 using Microsoft.VisualStudio.TestTools.UnitTesting; 5 5 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; 6 using System.Reflection; 6 7 7 8 namespace HeuristicLab.Persistence.Test { … … 19 20 } 20 21 22 class Base { 23 public string baseName; 24 [Storable] 25 public virtual string Name { 26 get { return "Base"; } 27 set { baseName = value; } 28 } 29 } 30 31 class Override : Base { 32 [Storable] 33 public override string Name { 34 get { return "Override"; } 35 set { base.Name = value; } 36 } 37 } 38 39 [EmptyStorableClass] 40 class Intermediate : Override { 41 } 42 43 class New : Intermediate { 44 public string newName; 45 [Storable] 46 public new string Name { 47 get { return "New"; } 48 set { newName = value; } 49 } 50 } 51 21 52 [TestClass] 22 53 public class AttributeTest { … … 26 57 DemoClass t = new DemoClass(); 27 58 Dictionary<string, DataMemberAccessor> accessors = StorableAttribute.GetStorableAccessors(t); 28 Assert.IsTrue(accessors.ContainsKey(" o"));59 Assert.IsTrue(accessors.ContainsKey("TestProperty")); 29 60 Assert.IsTrue(accessors.ContainsKey("x")); 30 61 Assert.IsFalse(accessors.ContainsKey("y")); 31 62 object o = new object(); 32 63 t.o = o; 33 Assert.AreSame(accessors[" o"].Get(), o);64 Assert.AreSame(accessors["TestProperty"].Get(), o); 34 65 t.x = 12; 35 66 Assert.AreEqual(accessors["x"].Get(), 12); 36 67 t.y = 312890; 37 accessors[" o"].Set(null);68 accessors["TestProperty"].Set(null); 38 69 Assert.IsNull(t.o); 39 70 accessors["x"].Set(123); … … 41 72 } 42 73 74 [TestMethod] 75 public void TestInheritance() { 76 New n = new New(); 77 var accessors = StorableAttribute.GetStorableAccessors(n); 78 var accessDict = new Dictionary<string, DataMemberAccessor>(); 79 foreach (var accessor in accessors) // assert uniqueness 80 accessDict.Add(accessor.Key, accessor.Value); 81 Assert.IsTrue(accessDict.ContainsKey(typeof(New).FullName + ".Name")); 82 Assert.IsTrue(accessDict.ContainsKey(typeof(Override).FullName + ".Name")); 83 Assert.AreEqual("New", accessDict[typeof(New).FullName + ".Name"].Get()); 84 Assert.AreEqual("Override", accessDict[typeof(Override).FullName + ".Name"].Get()); 85 } 86 43 87 } 44 88 -
trunk/sources/HeuristicLab.Persistence/UnitTests/UseCases.cs
r1823 r1938 16 16 using HeuristicLab.Persistence.Auxiliary; 17 17 using System.Text.RegularExpressions; 18 using HeuristicLab.Persistence.Test; 18 19 19 20 namespace HeuristicLab.Persistence.UnitTest { … … 541 542 } 542 543 544 [TestMethod] 545 public void InheritanceTest() { 546 New n = new New(); 547 XmlGenerator.Serialize(n, tempFile); 548 New nn = (New)XmlParser.Deserialize(tempFile); 549 Assert.AreEqual(n.Name, nn.Name); 550 Assert.AreEqual(((Override)n).Name, ((Override)nn).Name); 551 } 552 543 553 [ClassInitialize] 544 554 public static void Initialize(TestContext testContext) {
Note: See TracChangeset
for help on using the changeset viewer.