nMoq basic questions
Posted
by devoured elysium
on Stack Overflow
See other posts from Stack Overflow
or by devoured elysium
Published on 2010-05-24T23:56:34Z
Indexed on
2010/05/25
0:01 UTC
Read the original article
Hit count: 628
I made the following test for my class:
var mock = new Mock<IRandomNumberGenerator>();
mock.Setup(framework => framework.Generate(0, 50))
.Returns(7.0)
var rnac = new RandomNumberAverageCounter(mock.Object, 1, 100);
rnac.Run();
double result = rnac.GetAverage();
Assert.AreEqual(result, 7.0, 0.1);
The problem here was that I changed my mind about what range of values Generate(int min, int max)
would use. I ran the test and it failed. I know that that is what it's supposed to happen but I was left wondering if isn't there a way to launch an exception or throw in a message when trying to run the method params.
Also, if I want to run this Generate() method 10 times with different values (let's say, from 1 to 10), will I have to make 10 mock setups or something, or is there a special method for it? The best I could think of is this (which isn't bad, I'm just asking if there is other better way):
for (int i = 1; i < 10; ++i) {
mock.Setup(framework => framework.Generate(1, 100))
.Returns((double)i);
}
Thanks
© Stack Overflow or respective owner