Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 50737
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 10, 20262026-05-10T16:38:24+00:00 2026-05-10T16:38:24+00:00

I know I can do this: IDateTimeFactory dtf = MockRepository.GenerateStub<IDateTimeFactory>(); dtf.Now = new DateTime();

  • 0

I know I can do this:

IDateTimeFactory dtf = MockRepository.GenerateStub<IDateTimeFactory>(); dtf.Now = new DateTime(); DoStuff(dtf); // dtf.Now can be called arbitrary number of times, will always return the same value dtf.Now = new DateTime()+new TimeSpan(0,1,0);  // 1 minute later DoStuff(dtf); //ditto from above 

What if instead of IDateTimeFactory.Now being a property it is a method IDateTimeFactory.GetNow(), how do I do the same thing?

As per Judah’s suggestion below I have rewritten my SetDateTime helper method as follows:

    private void SetDateTime(DateTime dt) {         Expect.Call(_now_factory.GetNow()).Repeat.Any();         LastCall.Do((Func<DateTime>)delegate() { return dt; });     } 

but it still throws ‘The result for ICurrentDateTimeFactory.GetNow(); has already been setup.’ errors.

Plus its still not going to work with a stub….

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. 2026-05-10T16:38:25+00:00Added an answer on May 10, 2026 at 4:38 pm

    George,

    Using your updated code, I got this to work:

    MockRepository mocks = new MockRepository();  [Test] public void Test() {     IDateTimeFactory dtf = mocks.DynamicMock<IDateTimeFactory>();      DateTime desiredNowTime = DateTime.Now;     using (mocks.Record())     {         SetupResult.For(dtf.GetNow()).Do((Func<DateTime>)delegate { return desiredNowTime; });     }     using (mocks.Playback())     {         DoStuff(dtf); // Prints the current time             desiredNowTime += TimeSpan.FromMinutes(1);  // 1 minute later             DoStuff(dtf); // Prints the time 1 minute from now     } }  void DoStuff(IDateTimeFactory factory) {     DateTime time = factory.GetNow();     Console.WriteLine(time); } 

    FWIW, I don’t believe you can accomplish this using stubs; you need to use a mock instead.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I know I can do this... RegExp.prototype.xtend = function(){ console.log(123) } y = new
I know this can seem a weird question but for me it would be
I know this can be done and i have seen it done using some
I know you can do this <%= Request.Form[0] %> But how do you do
I know you can do this to get vertical text in a tab header:
I know you can do this with virtual attributes, but what if the column
I know you can do this.GetType().FullName To get My.Current.Class But what can I call
I know I can use this way to find the most frequent element in
To set your own colors for anchor, I know we can do this in
I’m trying to implement a simple fixed headers table. I know this can in

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.