public List ProcessRecords(IRecordsReader conf)
{
var pageHitsResults = new List();
if (conf != null && conf.HasRecords)
while (conf.Read())
{
pageHitsResults.Add(
new PageHitsResults { Date = conf.GetDateTime("Date"), Hits = conf.GetInt("Hits"), TotalHits = conf.GetInt("TotalHits") });
} return pageHitsResults;
}
[Test]
public void ProcessRecordsTests()
{
var isqlHelperMock = new Mock();
var iRecordsReaderMock = new Mock();
iRecordsReaderMock.Setup(x => x.HasRecords).Returns(true);
int i = 1;
iRecordsReaderMock.Setup(x => x.Read()).Returns(() => { return i++ == 1; }); var dateTime = DateTime.Now; iRecordsReaderMock.Setup(x => x.GetDateTime("Date")).Returns(dateTime); iRecordsReaderMock.Setup(x => x.GetInt("Hits")).Returns(55); iRecordsReaderMock.Setup(x => x.GetInt("TotalHits")).Returns(123); var pageHitsLogic = new PageHitsLogic(isqlHelperMock.Object); var actual = pageHitsLogic.ProcessRecords(iRecordsReaderMock.Object); Assert.AreEqual(1, actual.Count); Assert.AreEqual(dateTime, actual.First().Date); Assert.AreEqual(55, actual.First().Hits); Assert.AreEqual(123, actual.First().TotalHits);
}
[Test]
public void ProcessRecordsTestsTest()
{
var isqlHelperMock = new Mock(); var iRecordsReaderMock = new Mock(); iRecordsReaderMock.Setup(x => x.HasRecords).Returns(true); int i = 1; iRecordsReaderMock.Setup(x => x.Read()).Returns().Returns(() => i++ == 1); var dateTime = DateTime.Now; iRecordsReaderMock.Setup(x => x.GetDateTime("Date")).Returns(dateTime); iRecordsReaderMock.Setup(x => x.GetInt("Hits")).Returns(55); iRecordsReaderMock.Setup(x => x.GetInt("TotalHits")).Returns(123); var pageHitsLogic = new PageHitsLogic(isqlHelperMock.Object); i++;
// if used here the defalut value of I is 2 and the function for reading does did not yet execued
var actual = pageHitsLogic.ProcessRecords(iRecordsReaderMock.Object);
Assert.AreEqual(1, actual.Count);
Assert.AreEqual(dateTime, actual.First().Date);
Assert.AreEqual(55, actual.First().Hits);
Assert.AreEqual(123, actual.First().TotalHits);
}
Showing posts with label MOCK. Show all posts
Showing posts with label MOCK. Show all posts
Friday, 8 November 2013
Mock return value only once
Processing records using mock and NUnit
Tuesday, 27 March 2012
Articles that are opening knowlede
Great article from Scott Hanselman about unit testing file upload using MOCK
A Back To Basics Case Study: Implementing HTTP File Upload with ASP.NET MVC including Tests and Mocks
A Back To Basics Case Study: Implementing HTTP File Upload with ASP.NET MVC including Tests and Mocks
Subscribe to:
Posts (Atom)