Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(412)

Side by Side Diff: tests/corelib/map_from_iterable_test.dart

Issue 18023003: Add Map constructors taking iterables. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Removed newline. Created 7 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
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.
4
5 import "package:expect/expect.dart";
6 import 'dart:collection';
7
8 main() {
9 defaultFunctionValuesTest();
10 defaultKeyFunctionTest();
11 defaultValueFunctionTest();
12 noDefaultValuesTest();
13 emptyIterableTest();
14 equalElementsTest();
15 genericTypeTest();
16 }
17
18 void defaultFunctionValuesTest() {
19 var map = new Map.fromIterable([1, 2, 3]);
20
21 Expect.isTrue(map is Map);
22 Expect.isTrue(map is HashMap);
23
24 Expect.equals(3, map.length);
25 Expect.equals(3, map.keys.length);
26 Expect.equals(3, map.values.length);
27
28 Expect.equals(1, map[1]);
29 Expect.equals(2, map[2]);
30 Expect.equals(3, map[3]);
31 }
32
33 void defaultKeyFunctionTest() {
34 var map = new Map.fromIterable([1, 2, 3], value: (x) => x + 1);
35
36 Expect.isTrue(map is Map);
37 Expect.isTrue(map is HashMap);
38
39 Expect.equals(3, map.length);
40 Expect.equals(3, map.keys.length);
41 Expect.equals(3, map.values.length);
42
43 Expect.equals(2, map[1]);
44 Expect.equals(3, map[2]);
45 Expect.equals(4, map[3]);
46 }
47
48 void defaultValueFunctionTest() {
49 var map = new Map.fromIterable([1, 2, 3], key: (x) => x + 1);
50
51 Expect.isTrue(map is Map);
52 Expect.isTrue(map is HashMap);
53
54 Expect.equals(3, map.length);
55 Expect.equals(3, map.keys.length);
56 Expect.equals(3, map.values.length);
57
58 Expect.equals(1, map[2]);
59 Expect.equals(2, map[3]);
60 Expect.equals(3, map[4]);
61 }
62
63 void noDefaultValuesTest() {
64 var map = new Map.fromIterable([1, 2, 3],
65 key: (x) => x + 1, value: (x) => x - 1);
66
67
68 Expect.isTrue(map is Map);
69 Expect.isTrue(map is HashMap);
70
71 Expect.equals(3, map.length);
72 Expect.equals(3, map.keys.length);
73 Expect.equals(3, map.values.length);
74
75 Expect.equals(0, map[2]);
76 Expect.equals(1, map[3]);
77 Expect.equals(2, map[4]);
78 }
79
80 void emptyIterableTest() {
81 var map = new Map.fromIterable([]);
82 Expect.isTrue(map is Map);
83 Expect.isTrue(map is HashMap);
84
85 Expect.equals(0, map.length);
86 Expect.equals(0, map.keys.length);
87 Expect.equals(0, map.values.length);
88 }
89
90 void equalElementsTest() {
91 var map = new Map.fromIterable([1, 2, 2], key: (x) => x + 1);
92
93 Expect.isTrue(map is Map);
94 Expect.isTrue(map is HashMap);
95 print(map.length);
floitsch 2013/06/27 13:07:17 remove print.
zarah 2013/06/27 13:13:13 Done.
96
97 Expect.equals(2, map.length);
98 Expect.equals(2, map.keys.length);
99 Expect.equals(2, map.values.length);
100
101 Expect.equals(1, map[2]);
102 Expect.equals(2, map[3]);
103 }
104
105 void genericTypeTest() {
106 var map = new Map<int, String>.fromIterable([1, 2, 3], value: (x) => '$x');
107 Expect.isTrue(map is Map<int, String>);
108
109 // Make sure it is not just Map<dynamic, dynamic>.
floitsch 2013/06/27 13:07:17 indent comment too.
zarah 2013/06/27 13:13:13 Done.
110 Expect.isFalse(map is Map<String, dynamic>);
111 Expect.isFalse(map is Map<dynamic, int>);
112 }
113
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698