Home | History | Annotate | Download | only in examples
      1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
      2 "http://www.w3.org/TR/html4/loose.dtd">
      3 
      4 <html>
      5   <head>
      6 	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      7     <title>Tests</title>
      8     <link rel="stylesheet" type="text/css" href="jsunit/css/jsUnitStyle.css">
      9     <script language="JavaScript" type="text/javascript" src="../../jsunit/app/jsUnitCore.js"></script>
     10     <script language="JavaScript" type="text/javascript" src="../mock4js.js"></script>
     11     <script language="JavaScript" type="text/javascript" src="PriceService.js"></script>
     12     <script language="JavaScript" type="text/javascript">
     13 
     14 		Mock4JS.addMockSupport(this);
     15 
     16 		var mockPriceFetcher;
     17 		var mockPriceCache;
     18 		var priceService;
     19 
     20 		function setUp() {
     21 			Mock4JS.clearMocksToVerify();
     22 			mockPriceFetcher = mock(PriceFetcher);
     23 			mockPriceCache = mock(PriceCache);
     24 			priceService = new PriceService(mockPriceFetcher.proxy(), mockPriceCache.proxy());
     25 		}
     26 
     27 		function tearDown() {
     28 			Mock4JS.verifyAllMocks();
     29 		}
     30 
     31     	function testGetsPriceFromFetcherWhenPriceNotInCache() {
     32     		mockPriceCache.expects(once()).getCachedPrice("USDGBP").will(returnValue(null));
     33     		mockPriceFetcher.expects(once()).getPriceFromServer("USDGBP").will(returnValue(123.4));
     34     		mockPriceCache.expects(once()).setCachedPrice("USDGBP", 123.4);
     35 
     36     		var result = priceService.getPrice("USDGBP");
     37 
     38     		assertEquals("Should have returned price from server", 123.4, result);
     39 		}
     40 
     41     	function testDoesntGetsPriceFromFetcherWhenPriceAlreadyInCache() {
     42     		mockPriceCache.expects(once()).getCachedPrice("USDGBP").will(returnValue(123.4));
     43     		mockPriceCache.expects(never()).setCachedPrice();
     44     		mockPriceFetcher.expects(never()).getPriceFromServer("USDGBP");
     45 
     46     		var result = priceService.getPrice("USDGBP");
     47 
     48     		assertEquals("Should have returned price from cache", 123.4, result);
     49 		}
     50 
     51       </script>
     52   </head>
     53 
     54   <body>
     55     <h1>JsUnit Tests</h1>
     56 
     57     <p>This page contains some JsUnit tests. To see them, take a look at the source.</p>
     58   </body>
     59 </html>
     60 
     61