Rhino.Mocks What should BackToRecord clear Nothing Event subscribers for this instance Methods that should be forwarded to the base class implementation Properties that should behave like properties Remove al the behavior of the object Interface for constraints determains if the object pass the constraints And operator for constraints Not operator for constraints Or operator for constraints Allow overriding of || or && Allow overriding of || or && Gets the message for this constraint Constrain that the public field matches another constraint. Creates a new instance. Name of the public field. Constraint to place on the public field value. Creates a new instance, specifying a disambiguating for the public field. The type that declares the public field, used to disambiguate between public fields. Name of the public field. Constraint to place on the public field value. Determines if the object passes the constraint. Gets the message for this constraint Constrain that the public field has a specified value Creates a new instance. Name of the public field. Expected value. Creates a new instance, specifying a disambiguating for the public field. The type that declares the public field, used to disambiguate between public fields. Name of the public field. Expected value. Constrain that the property matches another constraint. Creates a new instance. Name of the property. Constraint to place on the property value. Creates a new instance, specifying a disambiguating for the property. The type that declares the property, used to disambiguate between properties. Name of the property. Constraint to place on the property value. Determines if the object passes the constraint. Gets the message for this constraint Constrain that the property has a specified value Creates a new instance. Name of the property. Expected value. Creates a new instance, specifying a disambiguating for the property. The type that declares the property, used to disambiguate between properties. Name of the property. Expected value. Constrain that the parameter must be of the specified type Creates a new instance. Type. determains if the object pass the constraints Gets the message for this constraint Constraint that determines whether an object is the same object as another. Creates a new instance. Obj. Determines if the object passes the constraints. Gets the message for this constraint. Evaluate a parameter using constraints Create new instance determains if the object pass the constraints Gets the message for this constraint Constrain that the list contains the same items as the parameter list Creates a new instance. In list. determains if the object pass the constraints Gets the message for this constraint Constrain that the parameter is one of the items in the list Creates a new instance. In list. determains if the object pass the constraints Gets the message for this constraint Constrain that the object is inside the parameter list Creates a new instance. In list. determains if the object pass the constraints Gets the message for this constraint Applies another AbstractConstraint to the collection count. Creates a new instance. The constraint that should be applied to the collection count. Determines if the parameter conforms to this constraint. Gets the message for this constraint. Applies another AbstractConstraint to a specific list element. Creates a new instance. The zero-based index of the list element. The constraint that should be applied to the list element. Determines if the parameter conforms to this constraint. Gets the message for this constraint Combines two constraints, constraint pass if either is fine. Creates a new instance. C1. C2. determains if the object pass the constraints Gets the message for this constraint Negate a constraint Creates a new instance. C1. determains if the object pass the constraints Gets the message for this constraint Combines two constraints Creates a new instance. C1. C2. determains if the object pass the constraints Gets the message for this constraint Constrain the argument to validate according to regex pattern Creates a new instance. Pattern. determains if the object pass the constraints Gets the message for this constraint Constraint that evaluate whatever an argument contains the specified string. Creates a new instance. Inner string. determains if the object pass the constraints Gets the message for this constraint Constraint that evaluate whatever an argument ends with the specified string Creates a new instance. End. determains if the object pass the constraints Gets the message for this constraint Constraint that evaluate whatever an argument start with the specified string Creates a new instance. Start. determains if the object pass the constraints Gets the message for this constraint Constraint that evaluate whatever an object equals another Creates a new instance. Obj. determains if the object pass the constraints Gets the message for this constraint Constraint that always returns true determains if the object pass the constraints Gets the message for this constraint Constraint that evaluate whatever a comparable is greater than another Creates a new instance. determains if the object pass the constraints Gets the message for this constraint Central location for constraints for object's public fields Constrains the parameter to have a public field with the specified value Name of the public field. Expected value. Constrains the parameter to have a public field with the specified value. The type that declares the public field, used to disambiguate between public fields. Name of the public field. Expected value. Constrains the parameter to have a public field satisfying a specified constraint. Name of the public field. Constraint for the public field. Constrains the parameter to have a public field satisfying a specified constraint. The type that declares the public field, used to disambiguate between public fields. Name of the public field. Constraint for the public field. Determines whether the parameter has the specified public field and that it is null. Name of the public field. Determines whether the parameter has the specified public field and that it is null. The type that declares the public field, used to disambiguate between public fields. Name of the public field. Determines whether the parameter has the specified public field and that it is not null. Name of the public field. Determines whether the parameter has the specified public field and that it is not null. The type that declares the public field, used to disambiguate between public fields. Name of the public field. Central location for constraints Evaluate a greater than constraint for . The object the parameter should be greater than Evaluate a less than constraint for . The object the parameter should be less than Evaluate a less than or equal constraint for . The object the parameter should be less than or equal to Evaluate a greater than or equal constraint for . The object the parameter should be greater than or equal to Evaluate an equal constraint for . The object the parameter should equal to Evaluate a not equal constraint for . The object the parameter should not equal to Evaluate a same as constraint. The object the parameter should the same as. Evaluate a not same as constraint. The object the parameter should not be the same as. A constraints that accept anything A constraint that accept only nulls A constraint that accept only non null values A constraint that accept only value of the specified type A constraint that accept only value of the specified type Evaluate a parameter using a predicate The predicate to use Central location for constraints about lists and collections Determines whether the specified obj is in the paramter. The parameter must be IEnumerable. Obj. Determains whatever the parameter is in the collection. Determains that the parameter collection is identical to the specified collection Determines that the parameter collection has the specified number of elements. The constraint that should be applied to the collection count. Determines that an element of the parameter collections conforms to another AbstractConstraint. The zero-based index of the list element. The constraint which should be applied to the list element. Central location for constraints for object's properties Constrains the parameter to have property with the specified value Name of the property. Expected value. Constrains the parameter to have property with the specified value. The type that declares the property, used to disambiguate between properties. Name of the property. Expected value. Constrains the parameter to have a property satisfying a specified constraint. Name of the property. Constraint for the property. Constrains the parameter to have a property satisfying a specified constraint. The type that declares the property, used to disambiguate between properties. Name of the property. Constraint for the property. Determines whether the parameter has the specified property and that it is null. Name of the property. Determines whether the parameter has the specified property and that it is null. The type that declares the property, used to disambiguate between properties. Name of the property. Determines whether the parameter has the specified property and that it is not null. Name of the property. Determines whether the parameter has the specified property and that it is not null. The type that declares the property, used to disambiguate between properties. Name of the property. Central location for all text related constraints Constrain the argument to starts with the specified string Constrain the argument to end with the specified string Constrain the argument to contain the specified string Constrain the argument to validate according to regex pattern An expectaton violation was detected. Creates a new instance. Message. Serialization constructor Signals that an object was call on a mock repostiroy which doesn't belong to this mock repository or not a mock Creates a new instance. Message. Serialization constructor Allows to set expectation on methods that has return values. For methods with void return value, you need to use LastCall A delegate that execute an action The method options for the last call on /any/ proxy on /any/ repository on the current thread. This method if not safe for multi threading scenarios, use . Accepts a delegate that will execute inside the method, and then return the resulting instance. It is expected to be used with anonymous delegates / lambda expressions and only one method should be called. IService mockSrv = mocks.CreateMock(typeof(IService)) as IService; Expect.Call(delegate{ mockSrv.Start(); }).Throw(new NetworkException()); ... Get the method options for the last method call on the mockInstance. Interface to validate that a method call is correct. Validate the arguments for the method. This method can be called numerous times, so be careful about side effects The arguments with which the method was called Add an actual method call to this expectation Returns the return value or throw the exception and setup any output / ref parameters that has been set. Gets the error message. Range of expected calls Number of call actually made for this method If this expectation is still waiting for calls. The return value for a method matching this expectation Gets or sets the exception to throw on a method matching this expectation. Gets a value indicating whether this instance's action is staisfied. A staisfied instance means that there are no more requirements from this method. A method with non void return value must register either a return value or an exception to throw. Gets the method this expectation is for. Gets or sets what special condtions there are for this method repeating. Gets a value indicating whether this expectation was satisfied Specify whatever this expectation has a return value set You can't check ReturnValue for this because a valid return value include null. An action to execute when the method is matched. Set the out / ref parameters for the method call. The indexing is zero based and ignores any non out/ref parameter. It is possible not to pass all the parameters. This method can be called only once. Documentation Message Gets the invocation for this expectation The invocation. Abstract class that holds common information for expectations. Number of actuall calls made that passed this expectation Range of expected calls that should pass this expectation. The return value for a method matching this expectation The exception to throw on a method matching this expectation. The method this expectation is for. The return value for this method was set Whether this method will repeat unlimited number of times. A delegate that will be run when the expectation is matched. The arguments that matched this expectation. Documentation message The method originalInvocation Get the hash code Add an actual method call to this expectation Returns the return value or throw the exception and setup output / ref parameters Validate the arguments for the method on the child methods The arguments with which the method was called Creates a new instance. The originalInvocation for this method, required because it contains the generic type infromation Creates a new instance. Expectation. Validate the arguments for the method on the child methods The arguments with which the method was called Determines if this object equal to obj The error message for these arguments Asserts that the delegate has the same parameters as the expectation's method call Setter for the outpur / ref parameters for this expecataion. Can only be set once. Specify whatever this expectation has a return value set You can't check ReturnValue for this because a valid return value include null. Gets the method this expectation is for. Gets the originalInvocation for this expectation The originalInvocation. Gets or sets what special condtions there are for this method Range of expected calls Number of call actually made for this method If this expectation is still waiting for calls. Gets a value indicating whether this expectation was satisfied The return value for a method matching this expectation An action to execute when the method is matched. Gets or sets the exception to throw on a method matching this expectation. Gets a value indicating whether this instance's action is staisfied. A staisfied instance means that there are no more requirements from this method. A method with non void return value must register either a return value or an exception to throw or an action to execute. Documentation message Gets the error message. Expectation that matchs any arguments for the method. Creates a new instance. Invocation for this expectation Creates a new instance. Expectation. Validate the arguments for the method. The arguments with which the method was called Determines if the object equal to expectation Get the hash code Gets the error message. Summary description for ArgsEqualExpectation. Creates a new instance. Expected args. The invocation for this expectation Validate the arguments for the method. The arguments with which the method was called Determines if the object equal to expectation Get the hash code Gets the error message. Get the expected args. Call a specified callback to verify the expectation Creates a new instance. Expectation. Callback. Creates a new instance. Invocation for this expectation Callback. Validate the arguments for the method on the child methods The arguments with which the method was called Determines if the object equal to expectation Get the hash code Gets the error message. Expect the method's arguments to match the contraints Creates a new instance. Invocation for this expectation Constraints. Creates a new instance. Expectation. Constraints. Validate the arguments for the method. The arguments with which the method was called Determines if the object equal to expectation Get the hash code Gets the error message. Log expectations - allows to see what is going on inside Rhino Mocks Logs the expectation as is was recorded The invocation. The expectation. Logs the expectation as it was recorded The invocation. The expectation. Logs the unexpected method call. The invocation. The message. Doesn't log anything, just makes happy noises Operation on a remoting proxy It is not possible to directly communicate to a real proxy via transparent proxy. Transparent proxy impersonates a user type and only methods of that user type are callable. The only methods that are guaranteed to exist on any transparent proxy are methods defined in Object: namely ToString(), GetHashCode(), and Equals()). These three methods are the only way to tell the real proxy to do something. Equals() is the most suitable of all, since it accepts an arbitrary object parameter. The RemotingProxy code is built so that if it is compared to an IRemotingProxyOperation, transparentProxy.Equals(operation) will call operation.Process(realProxy). This way we can retrieve a real proxy from transparent proxy and perform arbitrary operation on it. Generates remoting proxies and provides utility functions Create the proxy using remoting Check whether an object is a transparent proxy with a RemotingProxy behind it Object to check true if the object is a transparent proxy with a RemotingProxy instance behind it, false otherwise We use Equals() method to communicate with the real proxy behind the object. See IRemotingProxyOperation for more details Retrieve a mocked object from a transparent proxy Transparent proxy with a RemotingProxy instance behind it Mocked object associated with the proxy We use Equals() method to communicate with the real proxy behind the object. See IRemotingProxyOperation for more details Implementation of IInvocation based on remoting proxy Some methods are marked NotSupported since they either don't make sense for remoting proxies, or they are never called by Rhino Mocks Rudimetry implementation that simply logs methods calls as text. Initializes a new instance of the class. The writer. Logs the expectation as is was recorded The invocation. The expectation. Logs the expectation as it was recorded The invocation. The expectation. Logs the unexpected method call. The invocation. The message. Different actions on this mock Add a method call for this state' mock. The invocation for this method The method that was called The arguments this method was called with Verify that this mock expectations have passed. Verify that we can move to replay state and move to the reply state. Gets a mock state that match the original mock state of the object. Get the options for the last method call Set the exception to throw when Verify is called. This is used to report exception that may have happened but where caught in the code. This way, they are reported anyway when Verify() is called. Gets the matching verify state for this state Get the options for the last method call Records all the expectations for a mock Get the options for the last method call Set the exception to throw when Verify is called. This is used to report exception that may have happened but where caught in the code. This way, they are reported anyway when Verify() is called. Creates a new instance. Repository. The proxy that generates the method calls Add a method call for this state' mock. The invocation for this method The method that was called The arguments this method was called with Verify that we can move to replay state and move to the reply state. Verify that we can move to replay state and move to the reply state. Verify that this mock expectations have passed. Gets a mock state that match the original mock state of the object. Asserts the previous method is closed (had an expectation set on it so we can replay it correctly) Gets the last expectation. Gets the total method calls count. Get the options for the last method call Gets the matching verify state for this state Behave like a stub, all properties and events acts normally, methods calls return default values by default (but can use expectations to set them up), etc. Initializes a new instance of the class. The proxy that generates the method calls Repository. We don't care much about expectations here, so we will remove the exepctation if it is not closed. Verify that we can move to replay state and move to the reply state. Validate all expectations on a mock The repository for this state The proxy object for this state Get the options for the last method call Creates a new instance. The previous state for this method Add a method call for this state' mock. The invocation for this method The method that was called The arguments this method was called with Add a method call for this state' mock. This allows derived method to cleanly get a the setupresult behavior while adding their own. The invocation for this method The method that was called The arguments this method was called with Set the exception to throw when Verify is called. This is used to report exception that may have happened but where caught in the code. This way, they are reported anyway when Verify() is called. Verify that this mock expectations have passed. Verify that we can move to replay state and move to the reply state. Gets a mock state that match the original mock state of the object. Get the options for the last method call Gets the matching verify state for this state Validate expectations on recorded methods, but in general completely ignoring them. Similar to except that it would return a when BackToRecord is called. Initializes a new instance of the class. The previous state for this method Add a method call for this state' mock. The invocation for this method The method that was called The arguments this method was called with Gets a mock state that match the original mock state of the object. Marker interface used to indicate that this is a partial mock. Options for CallOriginalMethod No expectation is created, the method will be called directly Normal expectation is created, but when the method is later called, it will also call the original method Adds optional new usage: using(mockRepository.Record()) { Expect.Call(mock.Method()).Return(retVal); } using(mockRepository.Playback()) { // Execute code } N.B. mockRepository.ReplayAll() and mockRepository.VerifyAll() calls are taken care of by Record/Playback Creates proxied instances of types. Delegate: CreateMockState This is used internally to cleanly handle the creation of different RecordMockStates. This is used to record the last repository that has a method called on it. this is used to get to the last proxy on this repository. For mock delegates, maps the proxy instance from intercepted invocations back to the delegate that was originally returned to client code, if any. All the proxies in the mock repositories This is here because we can't put it in any of the recorders, since repeatable methods have no orderring, and if we try to handle them using the usual manner, we would get into wierd situations where repeatable method that was defined in an orderring block doesn't exists until we enter this block. Creates a new instance. Move the repository to ordered mode Move the repository to un-ordered mode Creates a mock for the specified type. Type. Arguments for the class' constructor, if mocking a concrete class Creates a mock from several types, with strict semantics. Only may be a class. Creates a mock from several types, with strict semantics. Only may be a class. The main type to mock. Extra interface types to mock. Arguments for the class' constructor, if mocking a concrete class. Creates a mock from several types, with dynamic semantics. Only may be a class. The main type to mock. Extra interface types to mock. Creates a mock from several types, with dynamic semantics. Only may be a class. The main type to mock. Extra interface types to mock. Arguments for the class' constructor, if mocking a concrete class. Creates a dynamic mock for the specified type. Type. Arguments for the class' constructor, if mocking a concrete class Creates a mock object that defaults to calling the class methods. Type. Arguments for the class' constructor. Creates a mock object that defaults to calling the class methods. Type. Extra interface types to mock. Creates a mock object that defaults to calling the class methods. Type. Extra interface types to mock. Arguments for the class' constructor. Creates a mock object using remoting proxies Type to mock - must be MarshalByRefObject Mock object Proxy mock can mock non-virtual methods, but not static methods Creates the mock state for this proxy Cause the mock state to change to replay, any further call is compared to the ones that were called in the record state. the object to move to replay state Move the mocked object back to record state. Will delete all current expectations! Move the mocked object back to record state. Will delete all current expectations, but allows more granularity about how it would behave with regard to the object state. Verify that all the expectations for this object were fulfilled. the object to verify the expectations for Get the method options for the last call on mockedInstance. The mock object Method options for the last call Maps an invocation proxy back to the mock object instance that was originally returned to client code which might have been a delegate to this proxy. The mock object proxy from the intercepted invocation The mock object This is provided to allow advance extention functionality, where Rhino Mocks standard functionality is not enough. The type to mock Delegate that create the first state of the mocked object (usualy the record state). Additional types to be implemented, this can be only interfaces optional arguments for the constructor Method: GetMockedObject Get an IProxy from a mocked object instance, or throws if the object is not a mock object. Method: GetMockedObjectOrNull Get an IProxy from a mocked object instance, or null if the object is not a mock object. Pops the recorder. Pushes the recorder. New recorder. All the mock objects in this repository will be moved to record state. All the mock objects in this repository will be moved to record state. Replay all the mocks from this repository Verify all the mocks from this repository Set the exception to be thrown when verified is called. Creates a mock for the spesified type. Arguments for the class' constructor, if mocking a concrete class Creates a dynamic mock for the specified type. Arguments for the class' constructor, if mocking a concrete class Creates a mock object from several types. Create a mock object from several types with dynamic semantics. Create a mock object from several types with partial semantics. Create a mock object from several types with strict semantics. Extra interface types to mock. Arguments for the class' constructor, if mocking a concrete class Create a mock object from several types with dynamic semantics. Extra interface types to mock. Arguments for the class' constructor, if mocking a concrete class Create a mock object from several types with partial semantics. Extra interface types to mock. Arguments for the class' constructor, if mocking a concrete class Create a mock object with from a class that defaults to calling the class methods Arguments for the class' constructor, if mocking a concrete class Create a stub object, one that has properties and events ready for use, and can have methods called on it. It requires an explicit step in order to create an expectation for a stub. The arguments for constructor. Create a stub object, one that has properties and events ready for use, and can have methods called on it. It requires an explicit step in order to create an expectation for a stub. The type. The arguments for constructor. Generates a stub without mock repository The arguments for constructor. Generates the stub without mock repository The type. The arguments for constructor. Gets the recorder. Gets the replayer for this repository. Gets the last proxy which had a method call. Utility class for dealing with messing generics scenarios. There are issues with trying to get this to work correctly with open generic types, since this is an edge case, I am letting the runtime handle it. Gets the real type, including de-constructing and constructing the type of generic methods parameters. The type. The invocation. Because we need to support complex types here (simple generics were handled above) we need to be aware of the following scenarios: List[T] and List[Foo[T]] ExpectationsList Dictionary Dictionary class Create a new instance of ProxyStateDictionary Interface to allows to call a method and immediatly get it's options. Get the method options for the call The method call should go here, the return value is ignored Allows to call a method and immediatly get it's options. Creates a new instance. Get the method options for the call The method call should go here, the return value is ignored Allows to call a method and immediatly get it's options. Set the expected number for the call to Any() Creates a new instance. Proxy. Mocked instance. Get the method options for the call The method call should go here, the return value is ignored This class is reponsible for taking a delegate and creating a wrapper interface around it, so it can be mocked. The scope for all the delegate interfaces create by this mock repositroy. Gets a type with an "Invoke" method suitable for use as a target of the specified delegate type. Raise events for all subscribers for an event Raise the event The most common form for the event handler signature Raise events for all subscribers for an event Create an event raise for the specified event on this instance. Creates a new instance of EventRaiser Raise the event The most common signature for events Here to allow intellisense to make better guesses about how it should suggest parameters. Allows to define what would happen when a method is called. Set the return value for the method. The object the method will return IRepeat that defines how many times the method will return this value Throws the specified exception when the method is called. Exception to throw Ignores the arguments for this method. Any argument will be matched againt this method. Add constraints for the method's arguments. Set a callback method for the last call Set a delegate to be called when the expectation is matched. The delegate return value will be returned from the expectation. Call the original method on the class, bypassing the mocking layers. Call the original method on the class, optionally bypassing the mocking layers. Use the property as a simple property, getting/setting the values without causing mock expectations. Get an event raiser for the last subscribed event. Set the parameter values for out and ref parameters. This is done using zero based indexing, and _ignoring_ any non out/ref parameter. Documentation message for the expectation Message Better syntax to define repeats. Allows to specify the number of time for method calls Repeat the method twice. Repeat the method once. Repeat the method at least once, then repeat as many time as it would like. Repeat the method any number of times. This has special affects in that this method would now ignore orderring. Set the range to repeat an action. Min. Max. Set the amount of times to repeat an action. This method must not appear in the replay state. This has special affects in that this method would now ignore orderring. Allows to define what would happen when a method is called. Creates a new instance. the repository for this expectation the recorder for this proxy the proxy for this expectation Expectation. Add constraints for the method's arguments. Set a callback method for the last call Set a delegate to be called when the expectation is matched. The delegate return value will be returned from the expectation. Set the return value for the method. The object the method will return IRepeat that defines how many times the method will return this value Throws the specified exception when the method is called. Exception to throw Ignores the arguments for this method. Any argument will be matched againt this method. Call the original method on the class, bypassing the mocking layers. Call the original method on the class, optionally bypassing the mocking layers Use the property as a simple property, getting/setting the values without causing mock expectations. Gets the event raiser for the last event Set the parameter values for out and ref parameters. This is done using zero based indexing, and _ignoring_ any non out/ref parameter. Repeat the method twice. Repeat the method once. Repeat the method at least once, then repeat as many time as it would like. This method must not appear in the replay state. Documentation message for the expectation Message Repeat the method any number of times. Set the range to repeat an action. Min. Max. Set the amount of times to repeat an action. Better syntax to define repeats. This class will provide hash code for hashtables without needing to call the GetHashCode() on the object, which may very well be mocked. This class has no state so it is a singelton to avoid creating a lot of objects that does the exact same thing. See flyweight patterns. Get the hash code for a proxy object without calling GetHashCode() on the object. Compares two instances of mocked objects Compare two mocked objects The next hash code value for a mock object. This is safe for multi threading. The sole instance of Interface to find the repository of a mocked object Return true if it should call the original method on the object instead of pass it to the message chain. The method to call Register a method to be called on the object directly Register a property on the object that will behave as a simple property Check if the method was registered as a property method. Do get/set on the property, according to need. Do add/remove on the event Get the subscribers of a spesific event Gets the declaring type of the method, taking into acccount the possible generic parameters that it was created with. Clears the state of the object, remove original calls, property behavior, subscribed events, etc. The unique hash code of this mock, which is not related to the value of the GetHashCode() call on the object. Gets the repository. Gets the implemented types by this mocked object The implemented. This is a dummy type that is used merely to give DynamicProxy the proxy instance that it needs to create IProxy's types. Create a new instance of Return true if it should call the original method on the object instead of pass it to the message chain. The method to call Register a method to be called on the object directly Register a property on the object that will behave as a simple property Check if the method was registered as a property method. Do get/set on the property, according to need. Do add/remove on the event Get the subscribers of a spesific event Gets the declaring type of the method, taking into acccount the possible generic parameters that it was created with. Clears the state of the object, remove original calls, property behavior, subscribed events, etc. The unique hash code of this proxy, which is not related to the value of the GetHashCode() call on the object. Gets the repository. Gets the implemented types by this mocked object The implemented. Range for expected method calls Creates a new instance. Min. Max. Return the string representation of this range. Gets or sets the min. Gets or sets the max. Records all the expectations for a mock and return a ReplayDynamicMockState when Replay() is called. Creates a new instance. Repository. The proxy that generates the method calls Verify that we can move to replay state and move to the reply state. Gets a mock state that match the original mock state of the object. Records all the expectations for a mock and return a ReplayPartialMockState when Replay() is called. Creates a new instance. Repository. The proxy that generates the method calls Verify that we can move to replay state and move to the reply state. Gets a mock state that match the original mock state of the object. Options for special repeat option This method can be called only as many times as the IMethodOptions.Expect allows. This method should never be called This method can be call any number of times This method will call the original method This method will call the original method, bypassing the mocking layer This method will simulate simple property behavior Validate all expectations on a mock and ignores calls to any method that was not setup properly. Creates a new instance. The previous state for this method Add a method call for this state' mock. The invocation for this method The method that was called The arguments this method was called with Gets a mock state that match the original mock state of the object. Validate all expectations on a mock and ignores calls to any method that was not setup properly. Creates a new instance. The previous state for this method