| OLD | NEW | 
|    1 // Copyright (c) 2012, the Dart project authors.  Please see the AUTHORS file |    1 // Copyright (c) 2012, 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 // Things that should be "auto-generated" are between AUTO START and |    5 // Things that should be "auto-generated" are between AUTO START and | 
|    6 // AUTO END (or just AUTO if it's a single line). |    6 // AUTO END (or just AUTO if it's a single line). | 
|    7  |    7  | 
|    8 #library("MintMakerTest"); |    8 library MintMakerTest; | 
|    9 #import("dart:isolate"); |    9 import 'dart:isolate'; | 
|   10 #import('../../pkg/unittest/unittest.dart'); |   10 import '../../pkg/unittest/lib/unittest.dart'; | 
|   11  |   11  | 
|   12 class Mint { |   12 class Mint { | 
|   13   Mint() : registry_ = new Map<SendPort, Purse>() { |   13   Mint() : registry_ = new Map<SendPort, Purse>() { | 
|   14     // AUTO START |   14     // AUTO START | 
|   15     ReceivePort mintPort = new ReceivePort(); |   15     ReceivePort mintPort = new ReceivePort(); | 
|   16     port = mintPort.toSendPort(); |   16     port = mintPort.toSendPort(); | 
|   17     serveMint(mintPort); |   17     serveMint(mintPort); | 
|   18     // AUTO END |   18     // AUTO END | 
|   19   } |   19   } | 
|   20  |   20  | 
| (...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  215   /* This is an attempt to show how the above code could look like if we had |  215   /* This is an attempt to show how the above code could look like if we had | 
|  216    * better language support for asynchronous messages (deferred/asynccall). |  216    * better language support for asynchronous messages (deferred/asynccall). | 
|  217    * The static helper methods like createPurse and queryBalance would also |  217    * The static helper methods like createPurse and queryBalance would also | 
|  218    * have to be marked async. |  218    * have to be marked async. | 
|  219  |  219  | 
|  220   void run(port) { |  220   void run(port) { | 
|  221     MintMakerWrapper mintMaker = spawnMintMaker(); |  221     MintMakerWrapper mintMaker = spawnMintMaker(); | 
|  222     deferred { |  222     deferred { | 
|  223       MintWrapper mint = asynccall mintMaker.createMint(); |  223       MintWrapper mint = asynccall mintMaker.createMint(); | 
|  224       PurseWrapper purse = asynccall mint.createPurse(100); |  224       PurseWrapper purse = asynccall mint.createPurse(100); | 
|  225       Expect.equals(100, asynccall purse.queryBalance()); |  225       expect(asynccall purse.queryBalance(), 100); | 
|  226  |  226  | 
|  227       PurseWrapper sprouted = asynccall purse.sproutPurse(); |  227       PurseWrapper sprouted = asynccall purse.sproutPurse(); | 
|  228       Expect.equals(0, asynccall sprouted.queryBalance()); |  228       expect(asynccall sprouted.queryBalance(), 0); | 
|  229  |  229  | 
|  230       asynccall sprouted.deposit(purse, 5); |  230       asynccall sprouted.deposit(purse, 5); | 
|  231       Expect.equals(0 + 5, asynccall sprouted.queryBalance()); |  231       expect(asynccall sprouted.queryBalance(), 0 + 5); | 
|  232       Expect.equals(100 - 5, asynccall purse.queryBalance()); |  232       expect(asynccall purse.queryBalance(), 100 - 5); | 
|  233  |  233  | 
|  234       asynccall sprouted.deposit(purse, 42); |  234       asynccall sprouted.deposit(purse, 42); | 
|  235       Expect.equals(0 + 5 + 42, asynccall sprouted.queryBalance()); |  235       expect(asynccall sprouted.queryBalance(), 0 + 5 + 42); | 
|  236       Expect.equals(100 - 5 - 42, asynccall purse.queryBalance()); |  236       expect(asynccall purse.queryBalance(), 100 - 5 - 42); | 
|  237     } |  237     } | 
|  238   } |  238   } | 
|  239   */ |  239   */ | 
|  240  |  240  | 
|  241   /* And a version using futures and wrappers. |  241   /* And a version using futures and wrappers. | 
|  242  |  242  | 
|  243   void run(port) { |  243   void run(port) { | 
|  244     Wrapper<MintMaker> mintMaker = spawnMintMaker(); |  244     Wrapper<MintMaker> mintMaker = spawnMintMaker(); | 
|  245     Future<Mint> mint = mintMaker...createMint(); |  245     Future<Mint> mint = mintMaker...createMint(); | 
|  246     Future<Purse> purse = mint...createPurse(100); |  246     Future<Purse> purse = mint...createPurse(100); | 
|  247     Expect.equals(100, purse.queryBalance()); |  247     expect(purse.queryBalance(), 100); | 
|  248  |  248  | 
|  249     Future<Purse> sprouted = purse...sproutPurse(); |  249     Future<Purse> sprouted = purse...sproutPurse(); | 
|  250     Expect.equals(0, sprouted.queryBalance()); |  250     expect(0, sprouted.queryBalance()); | 
|  251  |  251  | 
|  252     sprouted...deposit(purse, 5); |  252     sprouted...deposit(purse, 5); | 
|  253     Expect.equals(0 + 5, sprouted.queryBalance()); |  253     expect(sprouted.queryBalance(), 0 + 5); | 
|  254     Expect.equals(100 - 5, purse.queryBalance()); |  254     expect(purse.queryBalance(), 100 - 5); | 
|  255  |  255  | 
|  256     sprouted...deposit(purse, 42); |  256     sprouted...deposit(purse, 42); | 
|  257     Expect.equals(0 + 5 + 42, sprouted.queryBalance()); |  257     expect(sprouted.queryBalance(), 0 + 5 + 42); | 
|  258     Expect.equals(100 - 5 - 42, purse.queryBalance()); |  258     expect(purse.queryBalance(), 100 - 5 - 42); | 
|  259   } |  259   } | 
|  260   */ |  260   */ | 
|  261 } |  261 } | 
| OLD | NEW |