moq - Should Mock<SomeClassType>.SetupAllProperties() cause properties to return the values they are assigned? -
when use setupallproperties on mock, works expected:
/// <summary> /// demos setupallproprties on interface.  seems work fine. /// </summary> [test] public void demo_setupallproperties_foraninterface() {     var mock = new mock<iaddress>();      mock.setupallproperties();     var stub = mock.object;     stub.city = "blahsville";      var retrievedcity = stub.city;     assert.areequal("blahsville", retrievedcity); }   however, when try on class, fails:
/// <summary> /// demos setupallproprties on class.  seems work fine mocking interfaces, not classes.  :(  accessor returns null after setting property. /// </summary> [test] public void demo_setupallproperties_foraclass() {     var mock = new mock<address>();      mock.setupallproperties();     var stub = mock.object;     stub.city = "blahsville";      var retrievedcity = stub.city;     assert.areequal("blahsville", retrievedcity); }   did wrong? trying unsupported moq?
for measure, here iaddress interface , address class:
public interface iaddress {     string city { get; set; }     string state { get; set; }     void somemethod(string arg1, string arg2);     string getformattedaddress(); }  public class address : iaddress {     #region iaddress members     public virtual string city { get; set; }     public virtual string state { get; set; }     public virtual string getformattedaddress()     {         return city + ", " + state;     }      public virtual void somemethod(string arg1, string arg2)     {         // blah!     }     #endregion }      
i copied code new project not reproduce problem.  set breakpoint in demo_setupallproperties_foraclass() @ assert.areequal line , retrievedcity did have value "blahsville".
i using xunit, don't think make difference. version of moq using? using 4.0.10510.6.
Comments
Post a Comment