forked from MapsterMapper/Mapster
-
Notifications
You must be signed in to change notification settings - Fork 0
/
WhenMappingWithMaxDepth.cs
129 lines (93 loc) · 3.79 KB
/
WhenMappingWithMaxDepth.cs
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
using System.Collections.Generic;
using NUnit.Framework;
using Should;
namespace Mapster.Tests
{
//[TestFixture]
//public class WhenMappingWithMaxDepth
//{
// [Test]
// public void Max_Depth_Is_Honored()
// {
// Initialize();
// TypeAdapterConfig<MaxDepthSource, MaxDepthDestination>.NewConfig().MaxDepth(3);
// var dest = TypeAdapter.Adapt<MaxDepthSource, MaxDepthDestination>(_source);
// dest.ShouldNotBeNull();
// dest.Parent.ShouldBeNull();
// dest.Level.ShouldEqual(1);
// dest.Children[0].Children.Count.ShouldEqual(2);
// }
// [Test]
// public void Deepest_Level_Is_Populated()
// {
// Initialize();
// TypeAdapterConfig<MaxDepthSource, MaxDepthDestination>.NewConfig().MaxDepth(3);
// var dest = TypeAdapter.Adapt<MaxDepthSource, MaxDepthDestination>(_source);
// dest.ShouldNotBeNull();
// dest.Children[0].Children.Count.ShouldEqual(2);
// dest.Children[0].Children[1].ShouldNotBeNull();
// }
// [Test]
// public void Level_Below_Max_Depth_Is_Not_Populated()
// {
// Initialize();
// TypeAdapterConfig<MaxDepthSource, MaxDepthDestination>.NewConfig().MaxDepth(3);
// var dest = TypeAdapter.Adapt<MaxDepthSource, MaxDepthDestination>(_source);
// dest.Children[0].Children[1].Children.ShouldBeNull();
// }
// [Test]
// public void Max_Depth_Does_Not_Limit_List()
// {
// Initialize();
// TypeAdapterConfig<MaxDepthSource, MaxDepthDestination>.NewConfig().MaxDepth(3);
// var dest = TypeAdapter.Adapt<MaxDepthSource, MaxDepthDestination>(_source);
// dest.ShouldNotBeNull();
// dest.Parent.ShouldBeNull();
// dest.Level.ShouldEqual(1);
// dest.Children.Count.ShouldEqual(4);
// }
// #region Data
// private MaxDepthSource _source;
// public void Initialize()
// {
// var top = new MaxDepthSource(1);
// top.AddChild(new MaxDepthSource(2));
// top.Children[0].AddChild(new MaxDepthSource(3));
// top.Children[0].AddChild(new MaxDepthSource(3));
// top.Children[0].Children[1].AddChild(new MaxDepthSource(4));
// top.Children[0].Children[1].AddChild(new MaxDepthSource(4));
// top.Children[0].Children[1].AddChild(new MaxDepthSource(4));
// top.Children[0].Children[1].AddChild(new MaxDepthSource(4));
// top.AddChild(new MaxDepthSource(2));
// top.Children[1].AddChild(new MaxDepthSource(3));
// top.AddChild(new MaxDepthSource(2));
// top.Children[2].AddChild(new MaxDepthSource(3));
// top.AddChild(new MaxDepthSource(2));
// top.Children[3].AddChild(new MaxDepthSource(3));
// _source = top;
// }
// public class MaxDepthSource
// {
// public int Level { get; set; }
// public IList<MaxDepthSource> Children { get; set; }
// public MaxDepthSource Parent { get; set; }
// public MaxDepthSource(int level)
// {
// Children = new List<MaxDepthSource>();
// Level = level;
// }
// public void AddChild(MaxDepthSource child)
// {
// Children.Add(child);
// child.Parent = this;
// }
// }
// public class MaxDepthDestination
// {
// public int Level { get; set; }
// public IList<MaxDepthDestination> Children { get; set; }
// public MaxDepthDestination Parent { get; set; }
// }
// #endregion
//}
}