@@ -1122,6 +1122,180 @@ void main() {
1122
1122
});
1123
1123
});
1124
1124
});
1125
+ group ('of MapEntry' , () {
1126
+ group ('.whereKey' , () {
1127
+ test ('empty' , () {
1128
+ expect (
1129
+ iterable (< MapEntry <String , int >> []).whereKey (unreachable),
1130
+ isEmpty,
1131
+ );
1132
+ });
1133
+ test ('single' , () {
1134
+ expect (
1135
+ iterable ([const MapEntry ('a' , 1 )]).whereKey ((k) => k == 'a' ),
1136
+ [const MapEntry ('a' , 1 )],
1137
+ );
1138
+ expect (
1139
+ iterable ([const MapEntry ('a' , 1 )]).whereKey ((k) => k == 'b' ),
1140
+ isEmpty,
1141
+ );
1142
+ });
1143
+ test ('multiple' , () {
1144
+ expect (
1145
+ iterable ([
1146
+ const MapEntry ('a' , 1 ),
1147
+ const MapEntry ('b' , 2 ),
1148
+ ]).whereKey ((k) => k == 'a' ),
1149
+ [const MapEntry ('a' , 1 )],
1150
+ );
1151
+ expect (
1152
+ iterable ([
1153
+ const MapEntry ('a' , 1 ),
1154
+ const MapEntry ('b' , 2 ),
1155
+ ]).whereKey ((k) => k == 'b' ),
1156
+ [const MapEntry ('b' , 2 )],
1157
+ );
1158
+ expect (
1159
+ iterable ([
1160
+ const MapEntry ('a' , 1 ),
1161
+ const MapEntry ('b' , 2 ),
1162
+ ]).whereKey ((k) => k != 'c' ),
1163
+ [const MapEntry ('a' , 1 ), const MapEntry ('b' , 2 )],
1164
+ );
1165
+ expect (
1166
+ iterable ([
1167
+ const MapEntry ('a' , 1 ),
1168
+ const MapEntry ('b' , 2 ),
1169
+ const MapEntry ('a' , 3 ),
1170
+ ]).whereKey ((k) => k == 'a' ),
1171
+ [const MapEntry ('a' , 1 ), const MapEntry ('a' , 3 )],
1172
+ );
1173
+ });
1174
+ });
1175
+ group ('.whereValue' , () {
1176
+ test ('empty' , () {
1177
+ expect (
1178
+ iterable (< MapEntry <String , int >> []).whereValue (unreachable),
1179
+ isEmpty,
1180
+ );
1181
+ });
1182
+ test ('single' , () {
1183
+ expect (
1184
+ iterable ([const MapEntry ('a' , 1 )]).whereValue ((v) => v == 1 ),
1185
+ [const MapEntry ('a' , 1 )],
1186
+ );
1187
+ expect (
1188
+ iterable ([const MapEntry ('a' , 1 )]).whereValue ((v) => v == 2 ),
1189
+ isEmpty,
1190
+ );
1191
+ });
1192
+ test ('multiple' , () {
1193
+ expect (
1194
+ iterable ([
1195
+ const MapEntry ('a' , 1 ),
1196
+ const MapEntry ('b' , 2 ),
1197
+ ]).whereValue ((v) => v == 1 ),
1198
+ [const MapEntry ('a' , 1 )],
1199
+ );
1200
+ expect (
1201
+ iterable ([
1202
+ const MapEntry ('a' , 1 ),
1203
+ const MapEntry ('b' , 2 ),
1204
+ ]).whereValue ((v) => v == 2 ),
1205
+ [const MapEntry ('b' , 2 )],
1206
+ );
1207
+ expect (
1208
+ iterable ([
1209
+ const MapEntry ('a' , 1 ),
1210
+ const MapEntry ('b' , 2 ),
1211
+ ]).whereValue ((v) => v != 3 ),
1212
+ [const MapEntry ('a' , 1 ), const MapEntry ('b' , 2 )],
1213
+ );
1214
+ expect (
1215
+ iterable ([
1216
+ const MapEntry ('a' , 1 ),
1217
+ const MapEntry ('b' , 2 ),
1218
+ const MapEntry ('c' , 1 ),
1219
+ ]).whereValue ((v) => v == 1 ),
1220
+ [const MapEntry ('a' , 1 ), const MapEntry ('c' , 1 )],
1221
+ );
1222
+ expect (
1223
+ iterable ([
1224
+ const MapEntry ('a' , 1 ),
1225
+ const MapEntry ('b' , 2 ),
1226
+ const MapEntry ('a' , 1 ),
1227
+ ]).whereValue ((v) => v == 1 ),
1228
+ [const MapEntry ('a' , 1 ), const MapEntry ('a' , 1 )],
1229
+ );
1230
+ });
1231
+ });
1232
+ group ('.keys' , () {
1233
+ test ('empty' , () {
1234
+ expect (iterable (< MapEntry <String , int >> []).keys, isEmpty);
1235
+ });
1236
+ test ('single' , () {
1237
+ expect (iterable ([const MapEntry ('a' , 1 )]).keys, ['a' ]);
1238
+ });
1239
+ test ('multiple' , () {
1240
+ expect (
1241
+ iterable ([const MapEntry ('a' , 1 ), const MapEntry ('b' , 2 )]).keys,
1242
+ ['a' , 'b' ],
1243
+ );
1244
+ expect (
1245
+ iterable ([
1246
+ const MapEntry ('a' , 1 ),
1247
+ const MapEntry ('b' , 2 ),
1248
+ const MapEntry ('a' , 3 ),
1249
+ ]).keys,
1250
+ ['a' , 'b' , 'a' ],
1251
+ );
1252
+ });
1253
+ });
1254
+ group ('.values' , () {
1255
+ test ('empty' , () {
1256
+ expect (iterable (< MapEntry <String , int >> []).values, isEmpty);
1257
+ });
1258
+ test ('single' , () {
1259
+ expect (iterable ([const MapEntry ('a' , 1 )]).values, [1 ]);
1260
+ });
1261
+ test ('multiple' , () {
1262
+ expect (
1263
+ iterable ([const MapEntry ('a' , 1 ), const MapEntry ('b' , 2 )]).values,
1264
+ [1 , 2 ],
1265
+ );
1266
+ expect (
1267
+ iterable ([
1268
+ const MapEntry ('a' , 1 ),
1269
+ const MapEntry ('b' , 2 ),
1270
+ const MapEntry ('a' , 3 ),
1271
+ ]).values,
1272
+ [1 , 2 , 3 ],
1273
+ );
1274
+ });
1275
+ });
1276
+ group ('.toMap' , () {
1277
+ test ('empty' , () {
1278
+ expect (iterable (< MapEntry <String , int >> []).toMap (), < String , int > {});
1279
+ });
1280
+ test ('single' , () {
1281
+ expect (iterable ([const MapEntry ('a' , 1 )]).toMap (), {'a' : 1 });
1282
+ });
1283
+ test ('multiple' , () {
1284
+ expect (
1285
+ iterable ([const MapEntry ('a' , 1 ), const MapEntry ('b' , 2 )]).toMap (),
1286
+ {'a' : 1 , 'b' : 2 },
1287
+ );
1288
+ expect (
1289
+ iterable ([
1290
+ const MapEntry ('a' , 1 ),
1291
+ const MapEntry ('b' , 2 ),
1292
+ const MapEntry ('a' , 3 ),
1293
+ ]).toMap (),
1294
+ {'b' : 2 , 'a' : 3 },
1295
+ );
1296
+ });
1297
+ });
1298
+ });
1125
1299
group ('of comparable' , () {
1126
1300
group ('.min' , () {
1127
1301
test ('empty' , () {
0 commit comments