@@ -16,6 +16,13 @@ enum TestEnum
1616 ValueB = 2
1717 }
1818
19+ [ Flags ]
20+ enum TestFlagEnum
21+ {
22+ ValueA = 0x1 ,
23+ ValueB = 0x2
24+ }
25+
1926 [ Theory ]
2027 [ MemberData ( nameof ( ChangeType_scalars_source ) ) ]
2128 public void ChangeType_scalars ( string testValue , Type destinationType , bool expectFail , object expectedResult )
@@ -104,6 +111,19 @@ public static IEnumerable<object[]> ChangeType_scalars_source
104111 new object [ ] { ( ( int ) TestEnum . ValueB + 1 ) . ToString ( ) , typeof ( TestEnum ) , true , null } ,
105112 new object [ ] { ( ( int ) TestEnum . ValueA - 1 ) . ToString ( ) , typeof ( TestEnum ) , true , null } ,
106113
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+
107127 // Failed before #339
108128 new object [ ] { "false" , typeof ( int ) , true , 0 } ,
109129 new object [ ] { "true" , typeof ( int ) , true , 0 }
0 commit comments