Update of /cvsroot/mockobjects/mockobjects_education/talks/fruitshop/src/com/mockobjects/talks/fruitshop In directory sc8-pr-cvs1:/tmp/cvs-serv25546/talks/fruitshop/src/com/mockobjects/talks/fruitshop Modified Files: Tag: nat_0001 Directory.java Shop.java Added Files: Tag: nat_0001 DirectoryTest.java FruitShop.java Log Message: --- NEW FILE: DirectoryTest.java --- package com.mockobjects.talks.fruitshop; import com.mockobjects.dynamic.Mock; import junit.framework.TestCase; public class DirectoryTest extends TestCase { public void testFindsCheapestFruitFromMultipleShops() { final String REQUIRED_FRUIT = "required fruit"; Directory directory = new Directory(); Mock mockExpensiveShop = new Mock(FruitShop.class, "expensive"); Mock mockEmptyShop = new Mock(FruitShop.class, "empty"); Mock mockCheapShop = new Mock(FruitShop.class, "cheap"); Offer emptyOffer = new Offer(); Offer cheapOffer = new Offer(); Offer expensiveOffer = new Offer(); directory.addShop((FruitShop)mockEmptyShop.proxy()); directory.addShop((FruitShop)mockExpensiveShop.proxy()); directory.addShop((FruitShop)mockCheapShop.proxy()); mockEmptyShop.expectAndReturn( "makeOffer", REQUIRED_FRUIT, emptyOffer ); mockCheapShop.expectAndReturn( "makeOffer", REQUIRED_FRUIT, cheapOffer ); mockExpensiveShop.expectAndReturn( "makeOffer", REQUIRED_FRUIT, expensiveOffer ); assertSame( "should be cheap offer", cheapOffer, directory.findCheapest(REQUIRED_FRUIT)); } } --- NEW FILE: FruitShop.java --- /* * Created on 14-Nov-2003 */ package com.mockobjects.talks.fruitshop; /** * @author steve.freeman */ public interface FruitShop { public void addFruit(String required_fruit, int high_price); } Index: Directory.java =================================================================== RCS file: /cvsroot/mockobjects/mockobjects_education/talks/fruitshop/src/com/mockobjects/talks/fruitshop/Attic/Directory.java,v retrieving revision 1.2.6.1 retrieving revision 1.2.6.2 diff -u -r1.2.6.1 -r1.2.6.2 --- Directory.java 14 Nov 2003 16:18:04 -0000 1.2.6.1 +++ Directory.java 14 Nov 2003 16:57:47 -0000 1.2.6.2 @@ -1,23 +1,26 @@ -/* - * Created on 14-Nov-2003 - */ package com.mockobjects.talks.fruitshop; -/** - * @author steve.freeman - */ +import java.util.ArrayList; +import java.util.Iterator; + public class Directory { + private ArrayList shops = new ArrayList(); + public Directory() { super(); // TODO Generated constructor stub } - public Offer findCheapestFruit(String required_fruit) { - return null; // TODO Generated body + public Offer findCheapest(String required_fruit) { + Iterator allShops = shops.iterator(); + while (allShops.hasNext()) { + FruitShop shop = (FruitShop)allShops.next(); + } + return null; } - public void addShop(Shop emptyShop) { - // TODO Generated body + public void addShop(FruitShop shop) { + shops.add(shop); } } Index: Shop.java =================================================================== RCS file: /cvsroot/mockobjects/mockobjects_education/talks/fruitshop/src/com/mockobjects/talks/fruitshop/Shop.java,v retrieving revision 1.1.6.1 retrieving revision 1.1.6.2 diff -u -r1.1.6.1 -r1.1.6.2 --- Shop.java 14 Nov 2003 16:18:04 -0000 1.1.6.1 +++ Shop.java 14 Nov 2003 16:57:47 -0000 1.1.6.2 @@ -6,7 +6,7 @@ /** * @author steve.freeman */ -public class Shop { +public class Shop implements FruitShop { public Shop() { super(); // TODO Generated constructor stub |