annotate UnitTests/CS/Mapping/MemberMapperDefaultMappersTest.cs @ 4:f757da6161a1

!bug 100 + 2h fixed gregression
author cin
date Sun, 24 Aug 2014 17:57:42 +0400
parents f990fcb411a9
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1 using System;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
2 using System.Collections.Generic;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
3 using System.Linq;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
4
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
5 using BLToolkit.Mapping;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
6 using BLToolkit.Mapping.MemberMappers;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
7
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
8 using NUnit.Framework;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
9
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
10 namespace Mapping
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
11 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
12 [TestFixture]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
13 public class MemberMapperDefaultMappersTest
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
14 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
15 public class Object1
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
16 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
17 [MemberMapper(typeof(XMLSerialisationMapper))]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
18 public List<object> Lst1;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
19 [MemberMapper(typeof(BinarySerialisationMapper))]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
20 public List<object> Lst2;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
21 [MemberMapper(typeof(BinarySerialisationToBase64StringMapper))]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
22 public List<object> Lst3;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
23 [MemberMapper(typeof(JSONSerialisationMapper))]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
24 public List<object> Lst4;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
25 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
26
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
27 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
28 public void DefaultMemberMapperTest()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
29 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
30 ObjectMapper om = Map.GetObjectMapper(typeof(Object1));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
31
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
32 Object1 o = new Object1();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
33
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
34 o.Lst1 = new List<object>() { "Hello", "this", "is", "a", "test", 1, 2, 3 };
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
35 o.Lst2 = o.Lst1;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
36 o.Lst3 = o.Lst1;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
37 o.Lst4 = o.Lst1;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
38
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
39 var xml = om.GetValue(o, "Lst1");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
40 var bytearr = om.GetValue(o, "Lst2");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
41 var base64 = om.GetValue(o, "Lst3");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
42 var json = om.GetValue(o, "Lst4");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
43
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
44 var o2 = new Object1();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
45 om.SetValue(o2, "Lst1", xml);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
46 om.SetValue(o2, "Lst2", bytearr);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
47 om.SetValue(o2, "Lst3", base64);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
48 om.SetValue(o2, "Lst4", json);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
49
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
50 Assert.IsTrue(o.Lst1.SequenceEqual(o2.Lst1));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
51 Assert.IsTrue(o.Lst2.SequenceEqual(o2.Lst2));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
52 Assert.IsTrue(o.Lst3.SequenceEqual(o2.Lst3));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
53 Assert.IsTrue(o.Lst4.SequenceEqual(o2.Lst4));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
54 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
55 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
56 }