public void ProduceOfferReturnsCorrectResult(
string locationName,
string currentTime)
{
// Arrange
var moqRepo = new MockRepository(MockBehavior.Default);
var sut = new DateAndLocationMortgageApplicationProcessor
{
LocationProvider = moqRepo.Create<ILocationProvider>().Object,
TimeProvider = moqRepo.Create<ITimeProvider>().Object
};
Mock.Get(sut.LocationProvider)
.Setup(lp => lp.GetCurrentLocationName())
.Returns(locationName);
Mock.Get(sut.TimeProvider)
.Setup(tp => tp.GetCurrentTime())
.Returns(DateTimeOffset.Parse(currentTime));
// Act
var dummyApplication = new MortgageApplication();
var actual = sut.ProduceOffer(dummyApplication);
// Assert
var expected = new IRendering[]
{
new TextRendering(
locationName +
", " +
DateTimeOffset.Parse(currentTime).ToString("D")),
new LineBreakRendering()
};
Assert.Equal(expected, actual);
}