@@ -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 )
@@ -104,6 +111,19 @@ public static IEnumerable<object[]> ChangeType_scalars_source
104
111
new object [ ] { ( ( int ) TestEnum . ValueB + 1 ) . ToString ( ) , typeof ( TestEnum ) , true , null } ,
105
112
new object [ ] { ( ( int ) TestEnum . ValueA - 1 ) . ToString ( ) , typeof ( TestEnum ) , true , null } ,
106
113
114
+ new object [ ] { "ValueA" , typeof ( TestFlagEnum ) , false , TestFlagEnum . ValueA } ,
115
+ new object [ ] { "VALUEA" , typeof ( TestFlagEnum ) , false , TestFlagEnum . ValueA } ,
116
+ new object [ ] { "ValueB" , typeof ( TestFlagEnum ) , false , TestFlagEnum . ValueB } ,
117
+ new object [ ] { "ValueA,ValueB" , typeof ( TestFlagEnum ) , false , TestFlagEnum . ValueA | TestFlagEnum . ValueB } ,
118
+ new object [ ] { "ValueA, ValueB" , typeof ( TestFlagEnum ) , false , TestFlagEnum . ValueA | TestFlagEnum . ValueB } ,
119
+ new object [ ] { "VALUEA,ValueB" , typeof ( TestFlagEnum ) , false , TestFlagEnum . ValueA | TestFlagEnum . ValueB } ,
120
+ new object [ ] { ( ( int ) TestFlagEnum . ValueA ) . ToString ( ) , typeof ( TestFlagEnum ) , false , TestFlagEnum . ValueA } ,
121
+ new object [ ] { ( ( int ) TestFlagEnum . ValueB ) . ToString ( ) , typeof ( TestFlagEnum ) , false , TestFlagEnum . ValueB } ,
122
+ new object [ ] { ( ( int ) ( TestFlagEnum . ValueA | TestFlagEnum . ValueB ) ) . ToString ( ) , typeof ( TestFlagEnum ) , false , TestFlagEnum . ValueA | TestFlagEnum . ValueB } ,
123
+ new object [ ] { ( ( int ) TestFlagEnum . ValueB + 2 ) . ToString ( ) , typeof ( TestFlagEnum ) , true , null } ,
124
+ new object [ ] { ( ( int ) TestFlagEnum . ValueA - 1 ) . ToString ( ) , typeof ( TestFlagEnum ) , true , null } ,
125
+
126
+
107
127
// Failed before #339
108
128
new object [ ] { "false" , typeof ( int ) , true , 0 } ,
109
129
new object [ ] { "true" , typeof ( int ) , true , 0 }
0 commit comments