@@ -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 )
@@ -94,6 +101,19 @@ public static IEnumerable<object[]> ChangeType_scalars_source
94101 new object [ ] { ( ( int ) TestEnum . ValueB + 1 ) . ToString ( ) , typeof ( TestEnum ) , true , null } ,
95102 new object [ ] { ( ( int ) TestEnum . ValueA - 1 ) . ToString ( ) , typeof ( TestEnum ) , true , null } ,
96103
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+
97117 // Failed before #339
98118 new object [ ] { "false" , typeof ( int ) , true , 0 } ,
99119 new object [ ] { "true" , typeof ( int ) , true , 0 }
0 commit comments