public void Test_Server_for_NonCacheables() { Server sut = new BasicServerWithCache( null, // DUMMY req => false, // STUB req => Response.of(req.getBody() + "bar") // FAKE OBJECT ); Response r = sut.serve(new Request("foo")); Assert.Equal("foobar", r.getBody()); }
public void Test_Server_Interaction_with_Cache_for_NonCacheables() { var cacheMock = new Mock <Cache <Request, Response> >(); Server sut = new BasicServerWithCache( cacheMock.Object, // MOCK req => false, // STUB req => Response.of(req.getBody() + "bar") // FAKE OBJECT ); Response r = sut.serve(new Request("foo")); cacheMock.VerifyNoOtherCalls(); }
public void Test_Server_Interaction_with_Cache_for_Cacheables() { Request request = new Request("foo"); Response response = Response.of("foobar"); var cacheMock = new Mock <Cache <Request, Response> >(MockBehavior.Strict); var callseq = new MockSequence(); cacheMock.InSequence(callseq).Setup(c => c.cached(request)).Returns(false); cacheMock.InSequence(callseq).Setup(c => c.put(request, response)); cacheMock.InSequence(callseq).Setup(c => c.cached(request)).Returns(true); cacheMock.InSequence(callseq).Setup(c => c.get(request)).Returns(response); Server sut = new BasicServerWithCache( cacheMock.Object, // MOCK req => true, // STUB req => response // DUMMY ); sut.serve(request); sut.serve(request); }