Update of /cvsroot/mockobjects/mockobjects_education/talks/fruitshop/src/com/mockobjects/talks/fruitshop In directory sc8-pr-cvs1:/tmp/cvs-serv542/talks/fruitshop/src/com/mockobjects/talks/fruitshop Modified Files: Tag: joe0001 FruitSearcher.java FruitSearcherTest.java Added Files: Tag: joe0001 Directory.java Offer.java Log Message: --- NEW FILE: Directory.java --- /* * Created on 14-Nov-2003 */ package com.mockobjects.talks.fruitshop; import java.util.Iterator; /** * @author steve.freeman */ public interface Directory { Iterator getShops(); } --- NEW FILE: Offer.java --- /* * Created on 14-Nov-2003 */ package com.mockobjects.talks.fruitshop; /** * @author steve.freeman */ public interface Offer { } Index: FruitSearcher.java =================================================================== RCS file: /cvsroot/mockobjects/mockobjects_education/talks/fruitshop/src/com/mockobjects/talks/fruitshop/FruitSearcher.java,v retrieving revision 1.1 retrieving revision 1.1.2.1 diff -u -r1.1 -r1.1.2.1 --- FruitSearcher.java 14 Nov 2003 14:18:10 -0000 1.1 +++ FruitSearcher.java 14 Nov 2003 14:59:08 -0000 1.1.2.1 @@ -7,12 +7,15 @@ * @author steve.freeman */ public class FruitSearcher { - - public FruitSearcher() { - super(); // TODO Generated constructor stub + private Directory directory; + + + public FruitSearcher(Directory directory) { + this.directory = directory; } - public Shop findShopWithCheapest(String fruitName) { + public Offer findCheapest(String fruitName) { + directory.getShops(); return null; } Index: FruitSearcherTest.java =================================================================== RCS file: /cvsroot/mockobjects/mockobjects_education/talks/fruitshop/src/com/mockobjects/talks/fruitshop/FruitSearcherTest.java,v retrieving revision 1.1 retrieving revision 1.1.2.1 diff -u -r1.1 -r1.1.2.1 --- FruitSearcherTest.java 14 Nov 2003 14:18:10 -0000 1.1 +++ FruitSearcherTest.java 14 Nov 2003 14:59:08 -0000 1.1.2.1 @@ -3,14 +3,37 @@ */ package com.mockobjects.talks.fruitshop; +import java.util.Arrays; +import java.util.List; + +import com.mockobjects.dynamic.Mock; + import junit.framework.TestCase; public class FruitSearcherTest extends TestCase { + Mock mockDirectory; + FruitSearcher fruitSearcher; + + public void setUp() { + mockDirectory = new Mock(Directory.class); + fruitSearcher = new FruitSearcher((Directory)mockDirectory.proxy()); + } + public void testReturnsNullIfNoShops() { - FruitSearcher fruitSearcher = new FruitSearcher(); - - assertNull("Should be null shop", fruitSearcher.findShopWithCheapest("fruit name")); + assertNull("Should be null offer", fruitSearcher.findCheapest("fruit name")); } + public void testReturnsNullIfShopDoesNotContainRequiredFruit() { + Mock shopStub = new Mock(Shop.class); + shopStub.matchAndReturn("sellsFruit", false); + + List shopList = Arrays.asList( new Object[] { + shopStub.proxy() + } ); + mockDirectory.expectAndReturn("getShops", shopList.iterator() ); + + assertNull("Should be null offer", fruitSearcher.findCheapest("fruit name")); + mockDirectory.verify(); + } } |