Hi everyone

I need to find out the value passed into an indexer.

My code (c#) that I need to test is as follows:

                string cacheKey = GetCacheKey(cacheKeyRequest);
                string cachedValue = myCache[cacheKey] as string;

So, I need to be able to identify the valle "cacheKey" passed into the
indexer.

I have attempted to achieve this using a Mock of the cache object:

var cache = MockRepository.GenerateMock<WebDataCache>();

The idea being that after the code was run, I would try:

var actualCacheKey = cache.GetArgumentsForCallsMadeOn(a =>
a["somevalue"], opt => opt.IgnoreArguments())[0][0].ToString();

This gives me a compilation error: Only assignment, call, increment,
decrement, and new object expressions can be used as a statement.

I saw one suggestion to make this a function in the following way:

var actualCacheKey = cache.GetArgumentsForCallsMadeOn(a =>
a["somevalue"] = null, opt => opt.IgnoreArguments())[0][0].ToString();

This now compiles,but throws a run-time InvalidOperationException: No
expectations were setup to be verified, ensure that the method call in
the action is a virtual (C#) / overridable (VB.Net) method call.

Any suggestions?  [Am using RhinoMocks.3.6.1]

Many thanks in advance

Griff








-- 
You received this message because you are subscribed to the Google Groups 
"Rhino.Mocks" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/rhinomocks?hl=en.

Reply via email to