Repository navigation
Expand file tree
/
Copy pathWhen_enum_extensions.cs
More file actions
111 lines (86 loc) · 4.2 KB
/
Copy pathWhen_enum_extensions.cs
File metadata and controls
111 lines (86 loc) · 4.2 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
106
107
108
109
110
111
namespace Incoding.UnitTest.ExtensionsGroup
{
#region << Using >>
using System;
using System.ComponentModel;
using Incoding.Extensions;
using Incoding.MSpecContrib;
using Machine.Specifications;
using Machine.Specifications.Annotations;
#endregion
[Subject(typeof(EnumExtensions))]
public class When_enum_extensions
{
It should_be_equal_name_to_name_with_nestead_enum = () => typeof(FakeClass1.FakeEnum).Name.ShouldEqual(typeof(FakeClass2.FakeEnum).Name);
It should_be_to_array_with_ignore_0 = () => typeof(FakeEnum)
.ToArrayEnum<FakeEnum>()
.ShouldEqualWeak(Pleasure.ToArray(FakeEnum.Value, FakeEnum.Value2, FakeEnum.Value3));
It should_be_to_jquery_string = () => (FlagFakeEnum.Value2 | FlagFakeEnum.Value3)
.ToJqueryString()
.ShouldEqual("value2 value 3");
It should_be_to_localization_flag = () => FlagFakeEnum.Value2
.ToLocalization()
.ShouldEqual("Value2");
It should_be_to_localization_flag_multiple = () => (FlagFakeEnum.Value2 | FlagFakeEnum.Value3)
.ToLocalization()
.ShouldEqual("Value2 Value 3");
It should_be_to_localization_nestead = () =>
{
FakeClass1.FakeEnum.Value.ToLocalization().ShouldEqual("Value From FakeClass1");
FakeClass2.FakeEnum.Value.ToLocalization().ShouldEqual("Value From FakeClass2");
};
It should_be_to_localization_with_description = () => FakeEnum.Value3
.ToLocalization()
.ShouldEqual("Custom");
It should_be_to_localization_with_wrong_enum = () => ((FakeEnum)15)
.ToLocalization()
.ShouldBeEmpty();
It should_be_to_localization_without_description = () => FakeEnum.Value2
.ToLocalization()
.ShouldEqual("Value2");
It should_be_to_localization_as_pefromance = () => Pleasure.Do(i => (FlagFakeEnum.Value2 | FlagFakeEnum.Value3)
.ToLocalization(), 100000)
.ShouldBeLessThan(160);
It should_be_to_string_int = () => FakeEnum.Value2
.ToStringInt()
.ShouldEqual("2");
It should_be_to_string_lower = () => FakeEnum.Value2
.ToStringLower()
.ShouldEqual("value2");
public class FakeClass1
{
public enum FakeEnum
{
[Description("Value From FakeClass1")]
Value
}
}
public class FakeClass2
{
public enum FakeEnum
{
[Description("Value From FakeClass2")]
Value
}
}
#region Establish value
enum FakeEnum
{
[UsedImplicitly]
Zero = 0,
Value = 1,
Value2 = 2,
[Description("Custom")]
Value3 = 3
}
[Flags]
enum FlagFakeEnum
{
Value = 1,
Value2 = 2,
[Description("Value 3")]
Value3 = 4
}
#endregion
}
}