@@ -1283,5 +1283,62 @@ public void Can_convert_KVPs_to_ObjectDictionary()
12831283 Assert . That ( new [ ] { strKvp , strKvp2 } . ConvertTo < Dictionary < string , object > > ( ) , Is . EquivalentTo ( new Dictionary < string , object > { { "A" , "1" } , { "B" , "2" } } ) ) ;
12841284 Assert . That ( new [ ] { intKvp , intKvp2 } . ConvertTo < Dictionary < string , object > > ( ) , Is . EquivalentTo ( new Dictionary < string , object > { { "A" , 1 } , { "B" , 2 } } ) ) ;
12851285 }
1286+
1287+ [ Test ]
1288+ public void Can_convert_between_KVP_Objects_and_IEnumerable ( )
1289+ {
1290+ var kvps = new List < KeyValuePair < string , object > > {
1291+ new KeyValuePair < string , object > ( "A" , 1 ) ,
1292+ new KeyValuePair < string , object > ( "B" , 2 ) ,
1293+ new KeyValuePair < string , object > ( "C" , 3 ) ,
1294+ } ;
1295+
1296+ Assert . That ( kvps . ConvertTo < IEnumerable < object > > ( ) , Is . EqualTo ( kvps ) ) ;
1297+ Assert . That ( kvps . ConvertTo < List < object > > ( ) , Is . EqualTo ( kvps ) ) ;
1298+ Assert . That ( kvps . ConvertTo < object [ ] > ( ) , Is . EqualTo ( kvps ) ) ;
1299+
1300+ List < object > listObjs = kvps . Cast < object > ( ) . ToList ( ) ;
1301+ Assert . That ( listObjs . ConvertTo < List < KeyValuePair < string , object > > > ( ) , Is . EquivalentTo ( listObjs ) ) ;
1302+ object [ ] arrayObjs = kvps . Cast < object > ( ) . ToArray ( ) ;
1303+ Assert . That ( arrayObjs . ConvertTo < List < KeyValuePair < string , object > > > ( ) , Is . EquivalentTo ( arrayObjs ) ) ;
1304+ }
1305+
1306+ [ Test ]
1307+ public void Can_convert_between_KVP_Strings_and_IEnumerable ( )
1308+ {
1309+ var kvps = new List < KeyValuePair < string , string > > {
1310+ new KeyValuePair < string , string > ( "A" , "1" ) ,
1311+ new KeyValuePair < string , string > ( "B" , "2" ) ,
1312+ new KeyValuePair < string , string > ( "C" , "3" ) ,
1313+ } ;
1314+
1315+ Assert . That ( kvps . ConvertTo < IEnumerable < object > > ( ) , Is . EqualTo ( kvps ) ) ;
1316+ Assert . That ( kvps . ConvertTo < List < object > > ( ) , Is . EqualTo ( kvps ) ) ;
1317+ Assert . That ( kvps . ConvertTo < object [ ] > ( ) , Is . EqualTo ( kvps ) ) ;
1318+
1319+ List < object > listObjs = kvps . Cast < object > ( ) . ToList ( ) ;
1320+ Assert . That ( listObjs . ConvertTo < List < KeyValuePair < string , object > > > ( ) , Is . EquivalentTo ( listObjs ) ) ;
1321+ object [ ] arrayObjs = kvps . Cast < object > ( ) . ToArray ( ) ;
1322+ Assert . That ( arrayObjs . ConvertTo < List < KeyValuePair < string , object > > > ( ) , Is . EquivalentTo ( arrayObjs ) ) ;
1323+ }
1324+
1325+ [ Test ]
1326+ public void Can_convert_between_KVP_ints_and_IEnumerable ( )
1327+ {
1328+ var kvps = new List < KeyValuePair < string , int > > {
1329+ new KeyValuePair < string , int > ( "A" , 1 ) ,
1330+ new KeyValuePair < string , int > ( "B" , 2 ) ,
1331+ new KeyValuePair < string , int > ( "C" , 3 ) ,
1332+ } ;
1333+
1334+ Assert . That ( kvps . ConvertTo < IEnumerable < object > > ( ) , Is . EqualTo ( kvps ) ) ;
1335+ Assert . That ( kvps . ConvertTo < List < object > > ( ) , Is . EqualTo ( kvps ) ) ;
1336+ Assert . That ( kvps . ConvertTo < object [ ] > ( ) , Is . EqualTo ( kvps ) ) ;
1337+
1338+ List < object > listObjs = kvps . Cast < object > ( ) . ToList ( ) ;
1339+ Assert . That ( listObjs . ConvertTo < List < KeyValuePair < string , object > > > ( ) , Is . EquivalentTo ( listObjs ) ) ;
1340+ object [ ] arrayObjs = kvps . Cast < object > ( ) . ToArray ( ) ;
1341+ Assert . That ( arrayObjs . ConvertTo < List < KeyValuePair < string , object > > > ( ) , Is . EquivalentTo ( arrayObjs ) ) ;
1342+ }
12861343 }
12871344}
0 commit comments