Rhino.Mocks.Partial 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 property has a specified 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 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. 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 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 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 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 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 Abstract class that holds common information for expectations. 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 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 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. Method. 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 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. Method. 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. method this expectation is for 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. Method. 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. Method. 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. ExpectationsList Add a single expectation Add a range of expectations Whatever the collection contains the expectation The index of the expectation enumerator Indexer count of items in list Dictionary Create a new instance Add proxy and state Contains a proxy Enumerator remove an item from the collection Indexer get the keys for the collection Dictionary class Create a new instance Add proxy and state Contains a proxy Keys Indexer Number of items Allows to call a method and immediatly get it's options. 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 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 events for all subscribers for an event Raise the event Creates a new instance of EventRaiser Raise the event Allows to define what would happen when a method is called. 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. 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. Get the last call method info. 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. 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. 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. Get the last call method info. 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 This is a dummy type that is used merely to give DynamicProxy the proxy instance that it needs to create IProxy's types. 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 The unique hash code of this mock, which is not related to the value of the GetHashCode() call on the object. Gets the repository. 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 The unique hash code of this proxy, which is not related to the value of the GetHashCode() call on the object. Gets the repository. 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. Records all the expectations for a mock 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. 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 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. 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 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 simulate simple property behavior Validate all expectations on a mock and ignores calls to any method that was not setup properly. Validate all expectations on a mock The repository for this state The proxy object for this state 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 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 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. Summary description for RhinoInterceptor. Creates a new instance. Intercept a method call and direct it to the repository. Validate arguments for methods Validate that the passed argument is not null. The object to validate The name of the argument If the obj is null, an ArgumentNullException with the passed name is thrown. Validate that the arguments are equal. Expected args. Actual Args. This method is safe for use even if any of the objects is a mocked object that override equals. Throw an object already verified when accessed Create a new instance of VerifiedMockState The previous mock state, used to get the initial record state 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. 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 the actions on all the mocks created by a repository. Records the specified call with the specified args on the mocked object. Get the expectation for this method on this object with this arguments This check the methods that were setup using the SetupResult.For() or LastCall.Repeat.Any() and that bypass the whole expectation model. Gets the all expectations for a mocked object and method combination, regardless of the expected arguments / callbacks / contraints. Mocked object. Method. List of all relevant expectation Gets the all expectations for proxy. Mocked object. List of all relevant expectation Removes all the repeatable expectations for proxy. Mocked object. Replaces the old expectation with the new expectation for the specified proxy/method pair. This replace ALL expectations that equal to old expectations. Proxy. Method. Old expectation. New expectation. Adds the recorder and turn it into the active recorder. Recorder. Moves to previous recorder. Gets the recorded expectation or null. Gets the next expected calls string. Moves to parent recorder. Set the expectation so it can repeat any number of times. Removes the expectation from the recorder Clear the replayer to call (and all its chain of replayers) This also removes it from the list of expectations, so it will never be considered again Get the expectation for this method on this object with this arguments Gets a value indicating whether this instance has expectations that weren't satisfied yet. true if this instance has expectations; otherwise, false. Base class for method recorders, handle delegating to inner recorder if needed. List of the expected actions on for this recorder The legal values are: * Expectations * Method Recorders The current recorder. The current replayer; The parent recorder of this one, may be null. This contains a list of all the replayers that should be ignored for a spesific method call. A replayer gets into this list by calling ClearReplayerToCall() on its parent. This list is Clear()ed on each new invocation. All the repeatable methods calls. Counts the recursion depth of the current expectation search stack Creates a new instance. Creates a new instance. Parent recorder. Records the specified call with the specified args on the mocked object. Get the expectation for this method on this object with this arguments Gets the all expectations for a mocked object and method combination, regardless of the expected arguments / callbacks / contraints. Mocked object. Method. List of all relevant expectation Gets the all expectations for proxy. Mocked object. List of all relevant expectation Replaces the old expectation with the new expectation for the specified proxy/method pair. This replace ALL expectations that equal to old expectations. Proxy. Method. Old expectation. New expectation. Remove the all repeatable expectations for proxy. Mocked object. Set the expectation so it can repeat any number of times. Removes the expectation from the recorder Adds the recorder and turn it into the active recorder. Recorder. Moves to previous recorder. Moves to parent recorder. Gets the recorded expectation or null. Clear the replayer to call (and all its chain of replayers). This also removes it from the list of expectations, so it will never be considered again Get the expectation for this method on this object with this arguments Gets the next expected calls string. Handles the real getting of the recorded expectation or null. Handle the real execution of this method for the derived class Handle the real execution of this method for the derived class Handle the real execution of this method for the derived class Handle the real execution of this method for the derived class Handle the real execution of this method for the derived class Handle the real execution of this method for the derived class Should this replayer be considered valid for this call? This check the methods that were setup using the SetupResult.For() or LastCall.Repeat.Any() and that bypass the whole expectation model. Gets a value indicating whether this instance has expectations that weren't satisfied yet. true if this instance has expectations; otherwise, false. Handle the real execution of this method for the derived class Ordered collection of methods, methods must arrive in specified order in order to pass. Unordered collection of method records, any expectation that exist will be matched. The parent recorder we have redirected to. Useful for certain edge cases in orderring. See: FieldProblem_Entropy for the details. Creates a new instance. Parent recorder. Creates a new instance. Records the specified call with the specified args on the mocked object. Mocked object. Method. Expectation. Get the expectation for this method on this object with this arguments Mocked object. Method. Args. True is the call was recorded, false otherwise Gets the all expectations for a mocked object and method combination, regardless of the expected arguments / callbacks / contraints. Mocked object. Method. List of all relevant expectation Gets the all expectations for proxy. Mocked object. List of all relevant expectation Replaces the old expectation with the new expectation for the specified proxy/method pair. This replace ALL expectations that equal to old expectations. Proxy. Method. Old expectation. New expectation. Handle the real execution of this method for the derived class Handles the real getting of the recorded expectation or null. Handle the real execution of this method for the derived class Gets the next expected calls string. Create an exception for an unexpected method call. Gets a value indicating whether this instance has expectations that weren't satisfied yet. true if this instance has expectations; otherwise, false. Creates a new instance. Parent recorder. Creates a new instance. Handles the real getting of the recorded expectation or null. Get the expectation for this method on this object with this arguments Gets the next expected calls string. Hold an expectation for a method call on an object Creates a new instance. Proxy. Method. Expectation. Determains if the object equal to this instance Obj. Gets the hash code. Gets a string representation of this to assist debugging. Gets the proxy. Gets the method. Gets the expectation. Holds a pair of mocked object and a method and allows to compare them against each other. This allows us to have a distinction between mockOne.MyMethod() and mockTwo.MyMethod()... Creates a new instance. Proxy. Method. Determains whatever obj equals to this instance. ProxyMethodPairs are equals when they point to the same /instance/ of an object, and to the same method. Obj. Gets the hash code. Gets a string representation of this to assist debugging. Gets the proxy. Gets the method. Change the recorder from ordered to unordered and vice versa Creates a new instance. Disposes this instance. Utility class for working with method calls. Return the string representation of a method call and its arguments. The method The method arguments Delegate to format the parameter The string representation of this method call Return the string representation of a method call and its arguments. The method The method arguments The string representation of this method call Delegate to format the argument for the string representation of the method call. Utility to get the default value for a type The default value for a type. Null for reference types and void 0 for value types. First element for enums Type. the default value Allows to set expectation on methods that has return values. For methods with void return value, you need to use LastCall 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 . Get the method options for the last method call on the mockInstance. Allows to set various options for the last method call on a specified object. If the method has a return value, it's recommended to use Expect Allows to get an interface to work on the last call. The mocked object Interface that allows to set options for the last method call on this object 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 Call the original method on the class, bypassing the mocking layers, 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. Gets an interface that will raise the last event when called. 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. Creates proxied instances of types. 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 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. 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! 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. Replay all the mocks from this repository Verify all the mocks from this repository Set the exception to be thrown when verified is called. Gets the recorder. Gets the replayer for this repository. Gets the last proxy which had a method call. Delegate: CreateMockState This is used internally to cleanly handle the creation of different RecordMockStates. Used for [assembly: InternalsVisibleTo(RhinoMocks.StrongName)] Strong name for the Dynamic Proxy assemblies. Used for InternalsVisibleTo specification. Setup method calls to repeat any number of times. Get the method options and set the last method call to repeat any number of times. This also means that the method would transcend ordering Get the method options for the last method call on the mockInstance and set it to repeat any number of times. This also means that the method would transcend ordering