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

Side by Side Diff: tests/language/src/SavannahTest.dart

Issue 10248007: test rename overhaul: step 8 - language tests (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 8 years, 7 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
« no previous file with comments | « tests/language/src/ReturnInLoopTest.dart ('k') | tests/language/src/ScannerTest.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 // Dart test using an identity hash.
5
6 interface BigGame extends Hashable {
7 final String name;
8 }
9
10 class Giraffe implements BigGame {
11 final String name;
12 final int identityHash_;
13
14 Giraffe(this.name) : identityHash_ = nextId() {}
15
16 int hashCode() {
17 return identityHash_;
18 }
19
20 // Calculate identity hash for a giraffe.
21 static int nextId_;
22 static int nextId() {
23 if (nextId_ == null) {
24 nextId_ = 17;
25 }
26 return nextId_++;
27 }
28 }
29
30 class Zebra implements BigGame {
31 final String name;
32 Zebra(this.name) {}
33 }
34
35
36 class SavannahTest {
37
38 static void testMain() {
39 Map<BigGame, String> savannah = new Map<BigGame, String>();
40 Giraffe giraffe1 = new Giraffe("Tony");
41 Giraffe giraffe2 = new Giraffe("Rose");
42 savannah[giraffe1] = giraffe1.name;
43 savannah[giraffe2] = giraffe2.name;
44
45 var count = savannah.length;
46 print("getCount is $count");
47 Expect.equals(2, count);
48 print("giraffe1: " + savannah[giraffe1]);
49 print("giraffe2: " + savannah[giraffe2]);
50 Expect.equals("Tony", savannah[giraffe1]);
51 Expect.equals("Rose", savannah[giraffe2]);
52
53 bool caught = false;
54 Zebra zebra1 = new Zebra("Paul");
55 Zebra zebra2 = new Zebra("Joe");
56 try {
57 savannah[zebra1] = zebra1.name;
58 savannah[zebra2] = zebra2.name;
59 } catch (NoSuchMethodException e) {
60 print("Caught: $e");
61 caught = true;
62 }
63 Expect.equals(true, caught);
64
65 count = savannah.length;
66 print("getCount is $count");
67 Expect.equals(2, count);
68
69 caught = false;
70 try {
71 print("zebra1: " + savannah[zebra1]);
72 print("zebra2: " + savannah[zebra2]);
73 } catch (NoSuchMethodException e) {
74 print("Caught: $e");
75 caught = true;
76 }
77 Expect.equals(true, caught);
78 }
79
80 }
81
82 main() {
83 SavannahTest.testMain();
84 }
OLDNEW
« no previous file with comments | « tests/language/src/ReturnInLoopTest.dart ('k') | tests/language/src/ScannerTest.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698