File tree Expand file tree Collapse file tree 2 files changed +38
-0
lines changed
Expand file tree Collapse file tree 2 files changed +38
-0
lines changed Original file line number Diff line number Diff line change 1+ import 'package:collection/collection.dart' ;
2+
3+ /// Insert additional value into iterables.
4+ extension Insert <T > on Iterable <T > {
5+ /// Insert [value] between each element of the iterable.
6+ Iterable <T > addBetween (T value) {
7+ return expandIndexed ((int index, T element) sync * {
8+ yield element;
9+ if (index < length - 1 ) yield value;
10+ });
11+ }
12+ }
Original file line number Diff line number Diff line change 1+ import 'package:dcc_toolkit/common/extensions/iterable.dart' ;
2+ import 'package:flutter_test/flutter_test.dart' ;
3+ import 'package:parameterized_test/parameterized_test.dart' ;
4+
5+ void main () {
6+ parameterizedTest2 ('addBetween tests' , [
7+ [
8+ < int > [],
9+ < int > [],
10+ ],
11+ [
12+ [1 ],
13+ [1 ],
14+ ],
15+ [
16+ [1 , 2 ],
17+ [1 , 0 , 2 ],
18+ ],
19+ [
20+ [1 , 2 , 3 ],
21+ [1 , 0 , 2 , 0 , 3 ],
22+ ],
23+ ], (List <int > initial, List <int > expected) {
24+ expect (initial.addBetween (0 ), expected);
25+ });
26+ }
You can’t perform that action at this time.
0 commit comments