If I use  dsc.Stub(x => x.CallRealValue()).IgnoreArguments().Return("Stub") 
then its working if I am calling 'CallRealValue()' method but does not work 
if I am calling 'GetData()'. This is what I want because most of the time 
inside of 'GetData()' method after calling 'CallRealValue()' I would be 
using the return value (which i did not show bcz of simplicity).

Same thing applies to ".Return("Stub")". Its working but I do not just want 
the return value I also want what it supposed to do other things in the 
stub method. I my original application its return value comes from some 
other service which i did not showed here because of simplicity. 

I tried lot of different things for this part but couldn't figured it out 
but when I just had simple class with the console App it worked the first 
time. That is why I was confused why Rhino Mock is not behaving the same 
way.

Thanks,

On Tuesday, June 26, 2012 4:06:17 PM UTC-4, Adam wrote:
>
> It should then work if you change it to ".Return("Stub")" 
> What you have is expecting that you make the call to CallRealValue(), 
> which is called by GetData(), but you're telling it to Return(string.Empty) 
> instead, which, I believe, overrides the t.ReturnValue = 
> dsc.CallStubValue().
>
> You should also be able to do dsc.Stub(x => 
> x.CallRealValue()).IgnoreArguments().Return("Stub")  which will create a 
> fake CallRealValue method that will return "Stub" regardless of the 
> supplied Arguments -- the IgnoreArguments() part is optional, depending on 
> what you want it to do.
>
> So try one (or both) of those and let me know if either work.
>
> On Tuesday, June 26, 2012 3:56:07 PM UTC-4, Tony wrote:
>>
>> Hello Adam, 
>>
>> I tried without ".Return(string.Empty)" but it was giving me 
>> 'InvalidOperationException' because it needed the return value.
>>
>> On Tuesday, June 26, 2012 3:39:43 PM UTC-4, Adam wrote:
>>>
>>> Doesn't it work if you take away ".Return(string.Empty)" at the end?
>>>
>>> On Tuesday, June 26, 2012 3:36:01 PM UTC-4, Tony wrote:
>>>>
>>>> Hi,
>>>>
>>>> I have question regarding stubbing WCF methods. 
>>>> This example will show you what I am trying to do.
>>>>
>>>> I'm coding in C#, VS 2008, Rhino Mocks
>>>>
>>>> //WCF
>>>>
>>>> [ServiceContract]
>>>> public interface IDataService
>>>>  {
>>>>        [OperationContract]
>>>>        string GetData();
>>>>
>>>>        [OperationContract]
>>>>        string CallRealValue();
>>>>
>>>>         [OperationContract]
>>>>        string CallStubValue();
>>>>
>>>> }
>>>>
>>>> public class DataService : IDataService
>>>> {
>>>>        public string GetData()
>>>>        {
>>>>             string result = CallRealValue();
>>>>        }
>>>>      
>>>>        public virtual string CallRealValue()
>>>>        {
>>>>                //doing something
>>>>                return "Real";
>>>>        }
>>>>
>>>>        public virtual string CallStubValue()
>>>>        {
>>>>                //doing something
>>>>               return "Stub";
>>>>        }
>>>> }
>>>>
>>>> //In my console project, I have reference to the WCF so that I can 
>>>> access their members [ServiceReferenceData]
>>>>
>>>> public class Test
>>>> {
>>>>     public static void Main()
>>>>     {
>>>>            ServiceReferenceData.DataServiceClient dsc = 
>>>> MockRepository.GeneratePartialMock<ServiceReferenceData.DataServiceClient>();
>>>>        
>>>>            dsc.Expect(x => x.CallRealValue())
>>>>                  .WhenCalled(t => t.ReturnValue = dsc.CallStubValue())
>>>>                  .Return(string.Empty)
>>>>
>>>>
>>>>            string result = dsc.GetData();
>>>>
>>>>            //After above statement 'result' variable should be 'Stub' 
>>>> instead of null. I could not figured it out whats wrong with my syntex. 
>>>>            //However, I tried the same thing with the simpler example 
>>>> that is not WCF service methods and whenever I call GetData() method,
>>>>            //inside of that method it always goes to CallStubValue() 
>>>> which was expected and I was getting the correct result back but for WCF 
>>>>            //service it does not working.
>>>>
>>>>      }
>>>>
>>>> }
>>>>
>>>> Any help would be appreciated. 
>>>> Thanks,
>>>>
>>>

-- 
You received this message because you are subscribed to the Google Groups 
"Rhino.Mocks" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/rhinomocks/-/RbyoNSJEitIJ.
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