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();
+ }
}
|