Update of /cvsroot/mockobjects/mockobjects-java/src/examples/com/mockobjects/examples/dynamic
In directory sc8-pr-cvs1:/tmp/cvs-serv25147/src/examples/com/mockobjects/examples/dynamic
Modified Files:
Tag: DynamicMockExperiment
SimpleServlet.java SimpleServletTest.java
Added Files:
Tag: DynamicMockExperiment
Timer.java
Log Message:
Added example of multiple calls to same method (Timer)
--- NEW FILE: Timer.java ---
package com.mockobjects.examples.dynamic;
public interface Timer {
int getTime();
}
Index: SimpleServlet.java
===================================================================
RCS file: /cvsroot/mockobjects/mockobjects-java/src/examples/com/mockobjects/examples/dynamic/Attic/SimpleServlet.java,v
retrieving revision 1.1.2.5
retrieving revision 1.1.2.6
diff -u -r1.1.2.5 -r1.1.2.6
--- SimpleServlet.java 14 Apr 2003 18:46:51 -0000 1.1.2.5
+++ SimpleServlet.java 16 Apr 2003 22:17:35 -0000 1.1.2.6
@@ -15,16 +15,30 @@
public class SimpleServlet extends HttpServlet {
+ private Timer timer;
+
+ public SimpleServlet(Timer aTimer) {
+ super();
+ timer = aTimer;
+ }
+
+ public SimpleServlet() {
+ this(null); // really this would be a proper timer...
+ }
+
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String body = request.getParameter("body");
String subject = request.getParameter("subject");
String browser = request.getParameter("browser-identifier");
- String subjectCopy = request.getParameter("subject");
//String pet = request.getParameter("favourite-pet");
-
- response.setContentType("text/html");
- Writer writer = response.getWriter();
+
+ response.setContentType("text/html");
+ PrintWriter writer = response.getWriter();
+
+ writer.print("timer before:" + timer.getTime());
+ // some long operation
+ writer.print("timer after:" + timer.getTime());
}
Index: SimpleServletTest.java
===================================================================
RCS file: /cvsroot/mockobjects/mockobjects-java/src/examples/com/mockobjects/examples/dynamic/Attic/SimpleServletTest.java,v
retrieving revision 1.1.2.7
retrieving revision 1.1.2.8
diff -u -r1.1.2.7 -r1.1.2.8
--- SimpleServletTest.java 14 Apr 2003 18:46:51 -0000 1.1.2.7
+++ SimpleServletTest.java 16 Apr 2003 22:17:36 -0000 1.1.2.8
@@ -6,15 +6,19 @@
*/
package com.mockobjects.examples.dynamic;
-import java.io.*;
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.io.StringWriter;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
-import com.mockobjects.constraint.*;
-import com.mockobjects.dynamic.*;
+import junit.framework.TestCase;
-import junit.framework.*;
+import com.mockobjects.dynamic.C;
+import com.mockobjects.dynamic.Mock;
+import com.mockobjects.dynamic.OrderedMock;
/**
* @author dev
@@ -52,12 +56,15 @@
}
*/
public void testDoGetNew() throws ServletException, IOException {
+ Mock mockTimer = new Mock(Timer.class);
Mock mockHttpServletResponse = new OrderedMock(HttpServletResponse.class, "response");
Mock mockHttpServletRequest = new Mock(HttpServletRequest.class);
mockHttpServletRequest.matchAndReturn( "getParameter", C.args(C.eq("browser-identifier")), "MSIE-5.0" );
mockHttpServletRequest.expectAndReturn( "getParameter", "subject", "Mail Subject" );
mockHttpServletRequest.expectAndReturn( "getParameter", C.args(C.eq("body")), "Mail Body" );
+ mockTimer.expectAndReturn("getTime", 10000);
+ mockTimer.expectAndReturn("getTime", 20000);
final PrintWriter contentWriter = new PrintWriter(new StringWriter());
@@ -68,7 +75,7 @@
// CallMatch m2 = mockHttpServletResponse.expectAndReturn( "getWriter", C.args(), contentWriter );
// m1.expectBefore(m2);
- SimpleServlet aServlet = new SimpleServlet();
+ SimpleServlet aServlet = new SimpleServlet((Timer)mockTimer.proxy());
aServlet.doGet((HttpServletRequest) mockHttpServletRequest.proxy(), (HttpServletResponse) mockHttpServletResponse.proxy());
mockHttpServletRequest.verify();
|