mirror of
https://github.com/sharkdp/bat.git
synced 2024-12-26 16:28:50 +01:00
added test.dart
This commit is contained in:
parent
ec842e8d51
commit
c92ac809a5
133
tests/syntax-tests/highlighted/Dart/test.dart
Normal file
133
tests/syntax-tests/highlighted/Dart/test.dart
Normal file
@ -0,0 +1,133 @@
|
|||||||
|
[38;2;117;113;94m/* array sorting alogorithm */[0m
|
||||||
|
[3;38;2;102;217;239mint[0m[38;2;248;248;242m [0m[38;2;248;248;242mpartition[0m[38;2;248;248;242m([0m[3;38;2;102;217;239mList[0m[38;2;248;248;242m list, [0m[3;38;2;102;217;239mint[0m[38;2;248;248;242m low, [0m[3;38;2;102;217;239mint[0m[38;2;248;248;242m high)[0m[38;2;248;248;242m {[0m
|
||||||
|
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m (list [0m[38;2;249;38;114m==[0m[38;2;248;248;242m [0m[38;2;190;132;255mnull[0m[38;2;248;248;242m [0m[38;2;249;38;114m|[0m[38;2;249;38;114m|[0m[38;2;248;248;242m list.length [0m[38;2;249;38;114m==[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m[38;2;248;248;242m) [0m[38;2;249;38;114mreturn[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m[38;2;248;248;242m;[0m
|
||||||
|
[38;2;248;248;242m [0m[3;38;2;102;217;239mint[0m[38;2;248;248;242m pivot [0m[38;2;249;38;114m=[0m[38;2;248;248;242m list[high][0m[38;2;248;248;242m;[0m
|
||||||
|
[38;2;248;248;242m [0m[3;38;2;102;217;239mint[0m[38;2;248;248;242m i [0m[38;2;249;38;114m=[0m[38;2;248;248;242m low [0m[38;2;249;38;114m-[0m[38;2;248;248;242m [0m[38;2;190;132;255m1[0m[38;2;248;248;242m;[0m
|
||||||
|
|
||||||
|
[38;2;248;248;242m [0m[3;38;2;102;217;239mvoid[0m[38;2;248;248;242m [0m[38;2;248;248;242mswap[0m[38;2;248;248;242m([0m[3;38;2;102;217;239mList[0m[38;2;248;248;242m list, [0m[3;38;2;102;217;239mint[0m[38;2;248;248;242m i, [0m[3;38;2;102;217;239mint[0m[38;2;248;248;242m j)[0m[38;2;248;248;242m {[0m
|
||||||
|
[38;2;248;248;242m [0m[3;38;2;102;217;239mint[0m[38;2;248;248;242m temp [0m[38;2;249;38;114m=[0m[38;2;248;248;242m list[i][0m[38;2;248;248;242m;[0m
|
||||||
|
[38;2;248;248;242m list[i] [0m[38;2;249;38;114m=[0m[38;2;248;248;242m list[j][0m[38;2;248;248;242m;[0m
|
||||||
|
[38;2;248;248;242m list[j] [0m[38;2;249;38;114m=[0m[38;2;248;248;242m temp[0m[38;2;248;248;242m;[0m
|
||||||
|
[38;2;248;248;242m }[0m
|
||||||
|
|
||||||
|
[38;2;248;248;242m [0m[38;2;249;38;114mfor[0m[38;2;248;248;242m ([0m[3;38;2;102;217;239mint[0m[38;2;248;248;242m j [0m[38;2;249;38;114m=[0m[38;2;248;248;242m low[0m[38;2;248;248;242m;[0m[38;2;248;248;242m j [0m[38;2;249;38;114m<[0m[38;2;248;248;242m high[0m[38;2;248;248;242m;[0m[38;2;248;248;242m j[0m[38;2;249;38;114m++[0m[38;2;248;248;242m) {[0m
|
||||||
|
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m (list[j] [0m[38;2;249;38;114m<=[0m[38;2;248;248;242m pivot) {[0m
|
||||||
|
[38;2;248;248;242m i[0m[38;2;249;38;114m++[0m[38;2;248;248;242m;[0m
|
||||||
|
[38;2;248;248;242m swap(list, i, j)[0m[38;2;248;248;242m;[0m
|
||||||
|
[38;2;248;248;242m }[0m
|
||||||
|
[38;2;248;248;242m swap(list, i [0m[38;2;249;38;114m+[0m[38;2;248;248;242m [0m[38;2;190;132;255m1[0m[38;2;248;248;242m, high)[0m[38;2;248;248;242m;[0m
|
||||||
|
[38;2;248;248;242m [0m[38;2;249;38;114mreturn[0m[38;2;248;248;242m i [0m[38;2;249;38;114m+[0m[38;2;248;248;242m [0m[38;2;190;132;255m1[0m[38;2;248;248;242m;[0m
|
||||||
|
[38;2;248;248;242m }[0m
|
||||||
|
[38;2;248;248;242m}[0m
|
||||||
|
|
||||||
|
[3;38;2;102;217;239mvoid[0m[38;2;248;248;242m [0m[38;2;248;248;242mquickSort[0m[38;2;248;248;242m([0m[3;38;2;102;217;239mList[0m[38;2;248;248;242m list, [0m[3;38;2;102;217;239mint[0m[38;2;248;248;242m low, [0m[3;38;2;102;217;239mint[0m[38;2;248;248;242m high)[0m[38;2;248;248;242m {[0m
|
||||||
|
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m (low [0m[38;2;249;38;114m<[0m[38;2;248;248;242m high) {[0m
|
||||||
|
[38;2;248;248;242m [0m[3;38;2;102;217;239mint[0m[38;2;248;248;242m pi [0m[38;2;249;38;114m=[0m[38;2;248;248;242m partition(list, low, high)[0m[38;2;248;248;242m;[0m
|
||||||
|
[38;2;248;248;242m quickSort(list, low, pi [0m[38;2;249;38;114m-[0m[38;2;248;248;242m [0m[38;2;190;132;255m1[0m[38;2;248;248;242m)[0m[38;2;248;248;242m;[0m
|
||||||
|
[38;2;248;248;242m quickSort(list, pi [0m[38;2;249;38;114m+[0m[38;2;248;248;242m [0m[38;2;190;132;255m1[0m[38;2;248;248;242m, high)[0m[38;2;248;248;242m;[0m
|
||||||
|
[38;2;248;248;242m }[0m
|
||||||
|
[38;2;248;248;242m}[0m
|
||||||
|
|
||||||
|
[3;38;2;102;217;239mvoid[0m[38;2;248;248;242m [0m[38;2;248;248;242mmerge[0m[38;2;248;248;242m([0m[3;38;2;102;217;239mList[0m[38;2;248;248;242m list, [0m[3;38;2;102;217;239mint[0m[38;2;248;248;242m leftIndex, [0m[3;38;2;102;217;239mint[0m[38;2;248;248;242m middleIndex, [0m[3;38;2;102;217;239mint[0m[38;2;248;248;242m rightIndex)[0m[38;2;248;248;242m {[0m
|
||||||
|
[38;2;248;248;242m [0m[3;38;2;102;217;239mint[0m[38;2;248;248;242m leftSize [0m[38;2;249;38;114m=[0m[38;2;248;248;242m middleIndex [0m[38;2;249;38;114m-[0m[38;2;248;248;242m leftIndex [0m[38;2;249;38;114m+[0m[38;2;248;248;242m [0m[38;2;190;132;255m1[0m[38;2;248;248;242m;[0m
|
||||||
|
[38;2;248;248;242m [0m[3;38;2;102;217;239mint[0m[38;2;248;248;242m rightSize [0m[38;2;249;38;114m=[0m[38;2;248;248;242m rightIndex [0m[38;2;249;38;114m-[0m[38;2;248;248;242m middleIndex[0m[38;2;248;248;242m;[0m
|
||||||
|
|
||||||
|
[38;2;248;248;242m [0m[3;38;2;102;217;239mList[0m[38;2;248;248;242m leftList [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;249;38;114mnew[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mList[0m[38;2;248;248;242m(leftSize)[0m[38;2;248;248;242m;[0m
|
||||||
|
[38;2;248;248;242m [0m[3;38;2;102;217;239mList[0m[38;2;248;248;242m rightList [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;249;38;114mnew[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mList[0m[38;2;248;248;242m(rightSize)[0m[38;2;248;248;242m;[0m
|
||||||
|
|
||||||
|
[38;2;248;248;242m [0m[38;2;249;38;114mfor[0m[38;2;248;248;242m ([0m[3;38;2;102;217;239mint[0m[38;2;248;248;242m i [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m[38;2;248;248;242m;[0m[38;2;248;248;242m i [0m[38;2;249;38;114m<[0m[38;2;248;248;242m leftSize[0m[38;2;248;248;242m;[0m[38;2;248;248;242m i[0m[38;2;249;38;114m++[0m[38;2;248;248;242m) leftList[i] [0m[38;2;249;38;114m=[0m[38;2;248;248;242m list[leftIndex [0m[38;2;249;38;114m+[0m[38;2;248;248;242m i][0m[38;2;248;248;242m;[0m
|
||||||
|
[38;2;248;248;242m [0m[38;2;249;38;114mfor[0m[38;2;248;248;242m ([0m[3;38;2;102;217;239mint[0m[38;2;248;248;242m j [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m[38;2;248;248;242m;[0m[38;2;248;248;242m j [0m[38;2;249;38;114m<[0m[38;2;248;248;242m rightSize[0m[38;2;248;248;242m;[0m[38;2;248;248;242m j[0m[38;2;249;38;114m++[0m[38;2;248;248;242m) rightList[j] [0m[38;2;249;38;114m=[0m[38;2;248;248;242m list[middleIndex [0m[38;2;249;38;114m+[0m[38;2;248;248;242m j [0m[38;2;249;38;114m+[0m[38;2;248;248;242m [0m[38;2;190;132;255m1[0m[38;2;248;248;242m][0m[38;2;248;248;242m;[0m
|
||||||
|
|
||||||
|
[38;2;248;248;242m [0m[3;38;2;102;217;239mint[0m[38;2;248;248;242m i [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m[38;2;248;248;242m, j [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m[38;2;248;248;242m;[0m
|
||||||
|
[38;2;248;248;242m [0m[3;38;2;102;217;239mint[0m[38;2;248;248;242m k [0m[38;2;249;38;114m=[0m[38;2;248;248;242m leftIndex[0m[38;2;248;248;242m;[0m
|
||||||
|
|
||||||
|
[38;2;248;248;242m [0m[38;2;249;38;114mwhile[0m[38;2;248;248;242m (i [0m[38;2;249;38;114m<[0m[38;2;248;248;242m leftSize [0m[38;2;249;38;114m&[0m[38;2;249;38;114m&[0m[38;2;248;248;242m j [0m[38;2;249;38;114m<[0m[38;2;248;248;242m rightSize) {[0m
|
||||||
|
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m (leftList[i] [0m[38;2;249;38;114m<=[0m[38;2;248;248;242m rightList[j]) {[0m
|
||||||
|
[38;2;248;248;242m list[k] [0m[38;2;249;38;114m=[0m[38;2;248;248;242m leftList[i][0m[38;2;248;248;242m;[0m
|
||||||
|
[38;2;248;248;242m i[0m[38;2;249;38;114m++[0m[38;2;248;248;242m;[0m
|
||||||
|
[38;2;248;248;242m } [0m[38;2;249;38;114melse[0m[38;2;248;248;242m {[0m
|
||||||
|
[38;2;248;248;242m list[k] [0m[38;2;249;38;114m=[0m[38;2;248;248;242m rightList[j][0m[38;2;248;248;242m;[0m
|
||||||
|
[38;2;248;248;242m j[0m[38;2;249;38;114m++[0m[38;2;248;248;242m;[0m
|
||||||
|
[38;2;248;248;242m }[0m
|
||||||
|
[38;2;248;248;242m k[0m[38;2;249;38;114m++[0m[38;2;248;248;242m;[0m
|
||||||
|
[38;2;248;248;242m }[0m
|
||||||
|
|
||||||
|
[38;2;248;248;242m [0m[38;2;249;38;114mwhile[0m[38;2;248;248;242m (i [0m[38;2;249;38;114m<[0m[38;2;248;248;242m leftSize) {[0m
|
||||||
|
[38;2;248;248;242m list[k] [0m[38;2;249;38;114m=[0m[38;2;248;248;242m leftList[i][0m[38;2;248;248;242m;[0m
|
||||||
|
[38;2;248;248;242m i[0m[38;2;249;38;114m++[0m[38;2;248;248;242m;[0m
|
||||||
|
[38;2;248;248;242m k[0m[38;2;249;38;114m++[0m[38;2;248;248;242m;[0m
|
||||||
|
[38;2;248;248;242m }[0m
|
||||||
|
|
||||||
|
[38;2;248;248;242m [0m[38;2;249;38;114mwhile[0m[38;2;248;248;242m (j [0m[38;2;249;38;114m<[0m[38;2;248;248;242m rightSize) {[0m
|
||||||
|
[38;2;248;248;242m list[k] [0m[38;2;249;38;114m=[0m[38;2;248;248;242m rightList[j][0m[38;2;248;248;242m;[0m
|
||||||
|
[38;2;248;248;242m j[0m[38;2;249;38;114m++[0m[38;2;248;248;242m;[0m
|
||||||
|
[38;2;248;248;242m k[0m[38;2;249;38;114m++[0m[38;2;248;248;242m;[0m
|
||||||
|
[38;2;248;248;242m }[0m
|
||||||
|
[38;2;248;248;242m}[0m
|
||||||
|
|
||||||
|
[3;38;2;102;217;239mvoid[0m[38;2;248;248;242m [0m[38;2;248;248;242mmergeSort[0m[38;2;248;248;242m([0m[3;38;2;102;217;239mList[0m[38;2;248;248;242m list, [0m[3;38;2;102;217;239mint[0m[38;2;248;248;242m leftIndex, [0m[3;38;2;102;217;239mint[0m[38;2;248;248;242m rightIndex)[0m[38;2;248;248;242m {[0m
|
||||||
|
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m (leftIndex [0m[38;2;249;38;114m<[0m[38;2;248;248;242m rightIndex) {[0m
|
||||||
|
[38;2;248;248;242m [0m[3;38;2;102;217;239mint[0m[38;2;248;248;242m middleIndex [0m[38;2;249;38;114m=[0m[38;2;248;248;242m (rightIndex [0m[38;2;249;38;114m+[0m[38;2;248;248;242m leftIndex) [0m[38;2;249;38;114m~[0m[38;2;249;38;114m/[0m[38;2;248;248;242m [0m[38;2;190;132;255m2[0m[38;2;248;248;242m;[0m
|
||||||
|
|
||||||
|
[38;2;248;248;242m mergeSort(list, leftIndex, middleIndex)[0m[38;2;248;248;242m;[0m
|
||||||
|
[38;2;248;248;242m mergeSort(list, middleIndex [0m[38;2;249;38;114m+[0m[38;2;248;248;242m [0m[38;2;190;132;255m1[0m[38;2;248;248;242m, rightIndex)[0m[38;2;248;248;242m;[0m
|
||||||
|
|
||||||
|
[38;2;248;248;242m merge(list, leftIndex, middleIndex, rightIndex)[0m[38;2;248;248;242m;[0m
|
||||||
|
[38;2;248;248;242m }[0m
|
||||||
|
[38;2;248;248;242m}[0m
|
||||||
|
|
||||||
|
[38;2;117;113;94m/* variables */[0m
|
||||||
|
[3;38;2;102;217;239mvar[0m[38;2;248;248;242m name [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;230;219;116m'Voyager I'[0m[38;2;248;248;242m;[0m
|
||||||
|
[3;38;2;102;217;239mvar[0m[38;2;248;248;242m year [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;190;132;255m1977[0m[38;2;248;248;242m;[0m
|
||||||
|
[3;38;2;102;217;239mvar[0m[38;2;248;248;242m antennaDiameter [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;190;132;255m3.7[0m[38;2;248;248;242m;[0m
|
||||||
|
[3;38;2;102;217;239mvar[0m[38;2;248;248;242m flybyObjects [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [[0m[38;2;230;219;116m'Jupiter'[0m[38;2;248;248;242m, [0m[38;2;230;219;116m'Saturn'[0m[38;2;248;248;242m, [0m[38;2;230;219;116m'Uranus'[0m[38;2;248;248;242m, [0m[38;2;230;219;116m'Neptune'[0m[38;2;248;248;242m][0m[38;2;248;248;242m;[0m
|
||||||
|
[3;38;2;102;217;239mvar[0m[38;2;248;248;242m image [0m[38;2;249;38;114m=[0m[38;2;248;248;242m {[0m
|
||||||
|
[38;2;248;248;242m [0m[38;2;230;219;116m'tags'[0m[38;2;248;248;242m: [[0m[38;2;230;219;116m'saturn'[0m[38;2;248;248;242m],[0m
|
||||||
|
[38;2;248;248;242m [0m[38;2;230;219;116m'url'[0m[38;2;248;248;242m: [0m[38;2;230;219;116m'//path/to/saturn.jpg'[0m
|
||||||
|
[38;2;248;248;242m}[0m[38;2;248;248;242m;[0m
|
||||||
|
|
||||||
|
[38;2;117;113;94m/*classes */[0m
|
||||||
|
[38;2;249;38;114mclass[0m[38;2;248;248;242m [0m[38;2;248;248;242mSpacecraft[0m[38;2;248;248;242m [0m[38;2;248;248;242m{[0m
|
||||||
|
[38;2;248;248;242m [0m[3;38;2;102;217;239mString[0m[38;2;248;248;242m name[0m[38;2;248;248;242m;[0m
|
||||||
|
[38;2;248;248;242m DateTime launchDate[0m[38;2;248;248;242m;[0m
|
||||||
|
[38;2;248;248;242m Spacecraft([0m[38;2;255;255;255mthis[0m[38;2;248;248;242m.name, [0m[38;2;255;255;255mthis[0m[38;2;248;248;242m.launchDate) {}[0m
|
||||||
|
|
||||||
|
[38;2;248;248;242m [0m[38;2;117;113;94m//[0m[38;2;117;113;94m Named constructor that forwards to the default one.[0m
|
||||||
|
[38;2;248;248;242m Spacecraft.unlaunched([0m[3;38;2;102;217;239mString[0m[38;2;248;248;242m name)[0m[38;2;249;38;114m : [0m[38;2;255;255;255mthis[0m[38;2;248;248;242m(name, [0m[38;2;190;132;255mnull[0m[38;2;248;248;242m)[0m[38;2;248;248;242m;[0m
|
||||||
|
|
||||||
|
[38;2;248;248;242m [0m[3;38;2;102;217;239mint[0m[38;2;248;248;242m [0m[38;2;249;38;114mget[0m[38;2;248;248;242m [0m[38;2;248;248;242mlaunchYear[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;249;38;114m>[0m[38;2;248;248;242m launchDate?.year[0m[38;2;248;248;242m;[0m
|
||||||
|
|
||||||
|
[38;2;248;248;242m [0m[3;38;2;102;217;239mvoid[0m[38;2;248;248;242m [0m[38;2;248;248;242mdescribe[0m[38;2;248;248;242m()[0m[38;2;248;248;242m {[0m
|
||||||
|
[38;2;248;248;242m print([0m[38;2;230;219;116m'Spacecraft: [0m[38;2;249;38;114m$[0m[3;38;2;253;151;31mname[0m[38;2;230;219;116m'[0m[38;2;248;248;242m)[0m[38;2;248;248;242m;[0m
|
||||||
|
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m (launchDate [0m[38;2;249;38;114m!=[0m[38;2;248;248;242m [0m[38;2;190;132;255mnull[0m[38;2;248;248;242m) {[0m
|
||||||
|
[38;2;248;248;242m [0m[3;38;2;102;217;239mint[0m[38;2;248;248;242m years [0m[38;2;249;38;114m=[0m[38;2;248;248;242m DateTime.now().difference(launchDate).inDays [0m[38;2;249;38;114m~[0m[38;2;249;38;114m/[0m[38;2;248;248;242m [0m[38;2;190;132;255m365[0m[38;2;248;248;242m;[0m
|
||||||
|
[38;2;248;248;242m print([0m[38;2;230;219;116m'Launched: [0m[38;2;249;38;114m$[0m[3;38;2;253;151;31mlaunchYear[0m[38;2;230;219;116m ([0m[38;2;249;38;114m$[0m[3;38;2;253;151;31myears[0m[38;2;230;219;116m years ago)'[0m[38;2;248;248;242m)[0m[38;2;248;248;242m;[0m
|
||||||
|
[38;2;248;248;242m } [0m[38;2;249;38;114melse[0m[38;2;248;248;242m {[0m
|
||||||
|
[38;2;248;248;242m print([0m[38;2;230;219;116m'Unlaunched'[0m[38;2;248;248;242m)[0m[38;2;248;248;242m;[0m
|
||||||
|
[38;2;248;248;242m }[0m
|
||||||
|
[38;2;248;248;242m }[0m
|
||||||
|
[38;2;248;248;242m}[0m
|
||||||
|
|
||||||
|
[38;2;117;113;94m/* Mixins */[0m
|
||||||
|
[38;2;249;38;114mclass[0m[38;2;248;248;242m [0m[38;2;248;248;242mPilotedCraft[0m[38;2;248;248;242m [0m[38;2;249;38;114mextends[0m[38;2;248;248;242m [0m[38;2;248;248;242mSpacecraft[0m[38;2;248;248;242m [0m[38;2;249;38;114mwith[0m[38;2;248;248;242m [0m[38;2;248;248;242mPiloted[0m[38;2;248;248;242m [0m[38;2;248;248;242m{[0m
|
||||||
|
[38;2;248;248;242m [0m[38;2;117;113;94m//[0m[38;2;117;113;94m ···[0m
|
||||||
|
[38;2;248;248;242m}[0m
|
||||||
|
|
||||||
|
[38;2;117;113;94m/* Interfaces and abstract classes */[0m
|
||||||
|
[38;2;249;38;114mclass[0m[38;2;248;248;242m [0m[38;2;248;248;242mMockSpaceship[0m[38;2;248;248;242m [0m[38;2;249;38;114mimplements[0m[38;2;248;248;242m [0m[38;2;248;248;242mSpacecraft[0m[38;2;248;248;242m [0m[38;2;248;248;242m{[0m
|
||||||
|
[38;2;248;248;242m [0m[38;2;117;113;94m//[0m[38;2;117;113;94m ···[0m
|
||||||
|
[38;2;248;248;242m}[0m
|
||||||
|
|
||||||
|
[38;2;117;113;94m/* async */[0m
|
||||||
|
[38;2;248;248;242mFuture[0m[38;2;249;38;114m<[0m[3;38;2;102;217;239mvoid[0m[38;2;249;38;114m>[0m[38;2;248;248;242m printWithDelay([0m[3;38;2;102;217;239mString[0m[38;2;248;248;242m message) {[0m
|
||||||
|
[38;2;248;248;242m [0m[38;2;249;38;114mreturn[0m[38;2;248;248;242m Future.delayed([0m[38;2;249;38;114mconst[0m[38;2;248;248;242m Duration(seconds: [0m[38;2;190;132;255m2[0m[38;2;248;248;242m)).then((_) {[0m
|
||||||
|
[38;2;248;248;242m print(message)[0m[38;2;248;248;242m;[0m
|
||||||
|
[38;2;248;248;242m })[0m[38;2;248;248;242m;[0m
|
||||||
|
[38;2;248;248;242m}[0m
|
||||||
|
|
||||||
|
[38;2;248;248;242mStream[0m[38;2;249;38;114m<[0m[3;38;2;102;217;239mString[0m[38;2;249;38;114m>[0m[38;2;248;248;242m report(Spacecraft craft, Iterable[0m[38;2;249;38;114m<[0m[3;38;2;102;217;239mString[0m[38;2;249;38;114m>[0m[38;2;248;248;242m objects) [0m[38;2;249;38;114masync[0m[38;2;249;38;114m*[0m[38;2;248;248;242m {[0m
|
||||||
|
[38;2;248;248;242m [0m[38;2;249;38;114mfor[0m[38;2;248;248;242m ([0m[3;38;2;102;217;239mvar[0m[38;2;248;248;242m object [0m[38;2;249;38;114min[0m[38;2;248;248;242m objects) {[0m
|
||||||
|
[38;2;248;248;242m [0m[38;2;249;38;114mawait[0m[38;2;248;248;242m Future.delayed([0m[38;2;249;38;114mconst[0m[38;2;248;248;242m Duration(seconds: [0m[38;2;190;132;255m2[0m[38;2;248;248;242m))[0m[38;2;248;248;242m;[0m
|
||||||
|
[38;2;248;248;242m [0m[38;2;249;38;114myield[0m[38;2;248;248;242m [0m[38;2;230;219;116m'[0m[38;2;249;38;114m$[0m[38;2;249;38;114m{[0m[38;2;230;219;116mcraft.name[0m[38;2;249;38;114m}[0m[38;2;230;219;116m flies by [0m[38;2;249;38;114m$[0m[3;38;2;253;151;31mobject[0m[38;2;230;219;116m'[0m[38;2;248;248;242m;[0m
|
||||||
|
[38;2;248;248;242m }[0m
|
||||||
|
[38;2;248;248;242m}[0m
|
133
tests/syntax-tests/source/Dart/test.dart
Normal file
133
tests/syntax-tests/source/Dart/test.dart
Normal file
@ -0,0 +1,133 @@
|
|||||||
|
/* array sorting alogorithm */
|
||||||
|
int partition(List list, int low, int high) {
|
||||||
|
if (list == null || list.length == 0) return 0;
|
||||||
|
int pivot = list[high];
|
||||||
|
int i = low - 1;
|
||||||
|
|
||||||
|
void swap(List list, int i, int j) {
|
||||||
|
int temp = list[i];
|
||||||
|
list[i] = list[j];
|
||||||
|
list[j] = temp;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (int j = low; j < high; j++) {
|
||||||
|
if (list[j] <= pivot) {
|
||||||
|
i++;
|
||||||
|
swap(list, i, j);
|
||||||
|
}
|
||||||
|
swap(list, i + 1, high);
|
||||||
|
return i + 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void quickSort(List list, int low, int high) {
|
||||||
|
if (low < high) {
|
||||||
|
int pi = partition(list, low, high);
|
||||||
|
quickSort(list, low, pi - 1);
|
||||||
|
quickSort(list, pi + 1, high);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void merge(List list, int leftIndex, int middleIndex, int rightIndex) {
|
||||||
|
int leftSize = middleIndex - leftIndex + 1;
|
||||||
|
int rightSize = rightIndex - middleIndex;
|
||||||
|
|
||||||
|
List leftList = new List(leftSize);
|
||||||
|
List rightList = new List(rightSize);
|
||||||
|
|
||||||
|
for (int i = 0; i < leftSize; i++) leftList[i] = list[leftIndex + i];
|
||||||
|
for (int j = 0; j < rightSize; j++) rightList[j] = list[middleIndex + j + 1];
|
||||||
|
|
||||||
|
int i = 0, j = 0;
|
||||||
|
int k = leftIndex;
|
||||||
|
|
||||||
|
while (i < leftSize && j < rightSize) {
|
||||||
|
if (leftList[i] <= rightList[j]) {
|
||||||
|
list[k] = leftList[i];
|
||||||
|
i++;
|
||||||
|
} else {
|
||||||
|
list[k] = rightList[j];
|
||||||
|
j++;
|
||||||
|
}
|
||||||
|
k++;
|
||||||
|
}
|
||||||
|
|
||||||
|
while (i < leftSize) {
|
||||||
|
list[k] = leftList[i];
|
||||||
|
i++;
|
||||||
|
k++;
|
||||||
|
}
|
||||||
|
|
||||||
|
while (j < rightSize) {
|
||||||
|
list[k] = rightList[j];
|
||||||
|
j++;
|
||||||
|
k++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void mergeSort(List list, int leftIndex, int rightIndex) {
|
||||||
|
if (leftIndex < rightIndex) {
|
||||||
|
int middleIndex = (rightIndex + leftIndex) ~/ 2;
|
||||||
|
|
||||||
|
mergeSort(list, leftIndex, middleIndex);
|
||||||
|
mergeSort(list, middleIndex + 1, rightIndex);
|
||||||
|
|
||||||
|
merge(list, leftIndex, middleIndex, rightIndex);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* variables */
|
||||||
|
var name = 'Voyager I';
|
||||||
|
var year = 1977;
|
||||||
|
var antennaDiameter = 3.7;
|
||||||
|
var flybyObjects = ['Jupiter', 'Saturn', 'Uranus', 'Neptune'];
|
||||||
|
var image = {
|
||||||
|
'tags': ['saturn'],
|
||||||
|
'url': '//path/to/saturn.jpg'
|
||||||
|
};
|
||||||
|
|
||||||
|
/*classes */
|
||||||
|
class Spacecraft {
|
||||||
|
String name;
|
||||||
|
DateTime launchDate;
|
||||||
|
Spacecraft(this.name, this.launchDate) {}
|
||||||
|
|
||||||
|
// Named constructor that forwards to the default one.
|
||||||
|
Spacecraft.unlaunched(String name) : this(name, null);
|
||||||
|
|
||||||
|
int get launchYear => launchDate?.year;
|
||||||
|
|
||||||
|
void describe() {
|
||||||
|
print('Spacecraft: $name');
|
||||||
|
if (launchDate != null) {
|
||||||
|
int years = DateTime.now().difference(launchDate).inDays ~/ 365;
|
||||||
|
print('Launched: $launchYear ($years years ago)');
|
||||||
|
} else {
|
||||||
|
print('Unlaunched');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Mixins */
|
||||||
|
class PilotedCraft extends Spacecraft with Piloted {
|
||||||
|
// ···
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Interfaces and abstract classes */
|
||||||
|
class MockSpaceship implements Spacecraft {
|
||||||
|
// ···
|
||||||
|
}
|
||||||
|
|
||||||
|
/* async */
|
||||||
|
Future<void> printWithDelay(String message) {
|
||||||
|
return Future.delayed(const Duration(seconds: 2)).then((_) {
|
||||||
|
print(message);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
Stream<String> report(Spacecraft craft, Iterable<String> objects) async* {
|
||||||
|
for (var object in objects) {
|
||||||
|
await Future.delayed(const Duration(seconds: 2));
|
||||||
|
yield '${craft.name} flies by $object';
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user