| OLD | NEW |
| 1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 /// Dart test verifying that the parser can handle type parameterization of |
| 6 /// function declarations and function invocations. Variant of code from |
| 7 /// DEP #22, adjusted to use generic top level functions. |
| 8 |
| 9 library generic_functions_test; |
| 10 |
| 5 import "package:expect/expect.dart"; | 11 import "package:expect/expect.dart"; |
| 6 | 12 |
| 7 // Dart test verifying that the parser can handle type parameterization of | |
| 8 // function declarations and function invocations. Variant of code from | |
| 9 // DEP #22, adjusted to use generic top level functions. | |
| 10 | |
| 11 class BinaryTreeNode<K extends Comparable<K>, V> { | 13 class BinaryTreeNode<K extends Comparable<K>, V> { |
| 12 final K _key; | 14 final K _key; |
| 13 final V _value; | 15 final V _value; |
| 14 final BinaryTreeNode<K, V> _left; | 16 final BinaryTreeNode<K, V> _left; |
| 15 final BinaryTreeNode<K, V> _right; | 17 final BinaryTreeNode<K, V> _right; |
| 16 | 18 |
| 17 BinaryTreeNode(this._key, this._value, | 19 BinaryTreeNode(this._key, this._value, |
| 18 {BinaryTreeNode<K, V> left: null, BinaryTreeNode<K, V> right: null}) : | 20 {BinaryTreeNode<K, V> left: null, BinaryTreeNode<K, V> right: null}) : |
| 19 _left = left, _right = right; | 21 _left = left, _right = right; |
| 20 | 22 |
| (...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 97 | 99 |
| 98 sT = sT.insert(0, ""); | 100 sT = sT.insert(0, ""); |
| 99 sT = sT.insert(1, " "); | 101 sT = sT.insert(1, " "); |
| 100 sT = sT.insert(2, " "); | 102 sT = sT.insert(2, " "); |
| 101 sT = sT.insert(3, " "); | 103 sT = sT.insert(3, " "); |
| 102 | 104 |
| 103 BinaryTree<num, num> iT = sT.map<num>((String s) => s.length); | 105 BinaryTree<num, num> iT = sT.map<num>((String s) => s.length); |
| 104 | 106 |
| 105 Expect.equals(iT.foldPre<num>(0, (int i, num s) => i + s), 6); | 107 Expect.equals(iT.foldPre<num>(0, (int i, num s) => i + s), 6); |
| 106 } | 108 } |
| OLD | NEW |