-
Notifications
You must be signed in to change notification settings - Fork 25
Expand file tree
/
Copy pathEnumMappingType.cs
More file actions
105 lines (91 loc) · 3.5 KB
/
EnumMappingType.cs
File metadata and controls
105 lines (91 loc) · 3.5 KB
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
using System.Collections.Generic;
using AutoMapper.Extensions.EnumMapping.Tests.Internal;
using Shouldly;
using Xunit;
namespace AutoMapper.Extensions.EnumMapping.Tests
{
public class EnumMappingType
{
public enum Source
{
Default,
Foo,
Bar
}
public enum Destination
{
Default,
Foo,
Bar
}
public class Default : AutoMapperSpecBase
{
readonly List<Destination> _results = new List<Destination>();
protected override MapperConfiguration Configuration { get; } = new MapperConfiguration(cfg =>
{
cfg.EnableEnumMappingValidation();
cfg.CreateMap<Source, Destination>()
.ConvertUsingEnumMapping();
}, _loggerFactory);
protected override void Because_of()
{
_results.Add(Mapper.Map<Source, Destination>(Source.Default));
_results.Add(Mapper.Map<Source, Destination>(Source.Foo));
_results.Add(Mapper.Map<Source, Destination>(Source.Bar));
}
[Fact]
public void Should_map_with_default_mappings()
{
_results[0].ShouldBe(Destination.Default);
_results[1].ShouldBe(Destination.Foo);
_results[2].ShouldBe(Destination.Bar);
}
}
public class ByName : AutoMapperSpecBase
{
readonly List<Destination> _results = new List<Destination>();
protected override MapperConfiguration Configuration { get; } = new MapperConfiguration(cfg =>
{
cfg.EnableEnumMappingValidation();
cfg.CreateMap<Source, Destination>()
.ConvertUsingEnumMapping(opt => opt.MapByName());
}, _loggerFactory);
protected override void Because_of()
{
_results.Add(Mapper.Map<Source, Destination>(Source.Default));
_results.Add(Mapper.Map<Source, Destination>(Source.Foo));
_results.Add(Mapper.Map<Source, Destination>(Source.Bar));
}
[Fact]
public void Should_map_with_default_mappings()
{
_results[0].ShouldBe(Destination.Default);
_results[1].ShouldBe(Destination.Foo);
_results[2].ShouldBe(Destination.Bar);
}
}
public class ByValue : AutoMapperSpecBase
{
readonly List<Destination> _results = new List<Destination>();
protected override MapperConfiguration Configuration { get; } = new MapperConfiguration(cfg =>
{
cfg.EnableEnumMappingValidation();
cfg.CreateMap<Source, Destination>()
.ConvertUsingEnumMapping(opt => opt.MapByValue());
}, _loggerFactory);
protected override void Because_of()
{
_results.Add(Mapper.Map<Source, Destination>(Source.Default));
_results.Add(Mapper.Map<Source, Destination>(Source.Foo));
_results.Add(Mapper.Map<Source, Destination>(Source.Bar));
}
[Fact]
public void Should_map_with_default_mappings()
{
_results[0].ShouldBe(Destination.Default);
_results[1].ShouldBe(Destination.Foo);
_results[2].ShouldBe(Destination.Bar);
}
}
}
}