@@ -16,6 +16,13 @@ enum TestEnum
16
16
ValueB = 2
17
17
}
18
18
19
+ [ Flags ]
20
+ enum TestFlagEnum
21
+ {
22
+ ValueA = 0x1 ,
23
+ ValueB = 0x2
24
+ }
25
+
19
26
[ Theory ]
20
27
[ MemberData ( nameof ( ChangeType_scalars_source ) ) ]
21
28
public void ChangeType_scalars ( string testValue , Type destinationType , bool expectFail , object expectedResult )
@@ -94,6 +101,19 @@ public static IEnumerable<object[]> ChangeType_scalars_source
94
101
new object [ ] { ( ( int ) TestEnum . ValueB + 1 ) . ToString ( ) , typeof ( TestEnum ) , true , null } ,
95
102
new object [ ] { ( ( int ) TestEnum . ValueA - 1 ) . ToString ( ) , typeof ( TestEnum ) , true , null } ,
96
103
104
+ new object [ ] { "ValueA" , typeof ( TestFlagEnum ) , false , TestFlagEnum . ValueA } ,
105
+ new object [ ] { "VALUEA" , typeof ( TestFlagEnum ) , false , TestFlagEnum . ValueA } ,
106
+ new object [ ] { "ValueB" , typeof ( TestFlagEnum ) , false , TestFlagEnum . ValueB } ,
107
+ new object [ ] { "ValueA,ValueB" , typeof ( TestFlagEnum ) , false , TestFlagEnum . ValueA | TestFlagEnum . ValueB } ,
108
+ new object [ ] { "ValueA, ValueB" , typeof ( TestFlagEnum ) , false , TestFlagEnum . ValueA | TestFlagEnum . ValueB } ,
109
+ new object [ ] { "VALUEA,ValueB" , typeof ( TestFlagEnum ) , false , TestFlagEnum . ValueA | TestFlagEnum . ValueB } ,
110
+ new object [ ] { ( ( int ) TestFlagEnum . ValueA ) . ToString ( ) , typeof ( TestFlagEnum ) , false , TestFlagEnum . ValueA } ,
111
+ new object [ ] { ( ( int ) TestFlagEnum . ValueB ) . ToString ( ) , typeof ( TestFlagEnum ) , false , TestFlagEnum . ValueB } ,
112
+ new object [ ] { ( ( int ) ( TestFlagEnum . ValueA | TestFlagEnum . ValueB ) ) . ToString ( ) , typeof ( TestFlagEnum ) , false , TestFlagEnum . ValueA | TestFlagEnum . ValueB } ,
113
+ new object [ ] { ( ( int ) TestFlagEnum . ValueB + 2 ) . ToString ( ) , typeof ( TestFlagEnum ) , true , null } ,
114
+ new object [ ] { ( ( int ) TestFlagEnum . ValueA - 1 ) . ToString ( ) , typeof ( TestFlagEnum ) , true , null } ,
115
+
116
+
97
117
// Failed before #339
98
118
new object [ ] { "false" , typeof ( int ) , true , 0 } ,
99
119
new object [ ] { "true" , typeof ( int ) , true , 0 }
0 commit comments