From b92e13adc185522c5ae48461f0c77fd65bd0eea4 Mon Sep 17 00:00:00 2001 From: Marko Lahma Date: Sat, 11 Feb 2012 17:57:27 +0200 Subject: [PATCH] Upgraded Rhino.Mocks.dll to version 3.6 --- lib/Mono/2.0/Rhino.Mocks.dll | Bin 259584 -> 315904 bytes lib/Mono/2.0/Rhino.Mocks.xml | 11231 +++++++++++++-------------------- lib/Net/2.0/Rhino.Mocks.dll | Bin 259584 -> 315904 bytes lib/Net/2.0/Rhino.Mocks.xml | 11231 +++++++++++++-------------------- 4 files changed, 8728 insertions(+), 13734 deletions(-) diff --git a/lib/Mono/2.0/Rhino.Mocks.dll b/lib/Mono/2.0/Rhino.Mocks.dll index 89facd92130931acb5c20362da457e84cee96817..3fc4b2ae43749290088c7502237fcfd2bc436cb5 100644 GIT binary patch literal 315904 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 z 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�$q&Kc&3}uBC{qQ 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 diff --git a/lib/Mono/2.0/Rhino.Mocks.xml b/lib/Mono/2.0/Rhino.Mocks.xml index 0ec4e02d..d6ae366d 100644 --- a/lib/Mono/2.0/Rhino.Mocks.xml +++ b/lib/Mono/2.0/Rhino.Mocks.xml @@ -1,993 +1,1298 @@ - + - - Rhino.Mocks - - - - + + Rhino.Mocks + + + + + Defines constraints and return values for arguments of a mock. + Only use Arg inside a method call on a mock that is recording. + Example: + ExpectCall( + mock.foo( + Arg<int>.Is.GreaterThan(2), + Arg<string>.Is.Anything + )); + Use Arg.Text for string specific constraints + Use Arg<ListClass>.List for list specific constraints + + + + + + Register the predicate as a constraint for the current call. + + The predicate. + default(T) + + Allow you to use code to create constraints + + demo.AssertWasCalled(x => x.Bar(Arg{string}.Matches(a => a.StartsWith("b") && a.Contains("ba")))); + + + + + + Define a complex constraint for this argument by passing several constraints + combined with operators. (Use Is in simple cases.) + Example: Arg<string>.Matches(Is.Equal("Hello") || Text.EndsWith("u")); + + Constraints using Is, Text and List + Dummy to satisfy the compiler + + + + Define a Ref argument. + + Constraints for this argument + value returned by the mock + + + + + Define a out parameter. Use it together with the keyword out and use the + Dummy field available by the return value. + Example: mock.foo( out Arg<string>.Out("hello").Dummy ); + + + + + + + Define a simple constraint for this argument. (Use Matches in simple cases.) + Example: + Arg<int>.Is.Anthing + Arg<string>.Is.Equal("hello") + + + + + Define Constraints on list arguments. + + + + + Use the Arg class (without generic) to define Text constraints + + + + + Evaluate an equal constraint for . + + The object the parameter should equal to + + + + Define constraints on text arguments. + + + + + Used to manage the static state of the Arg<T> class"/> + + + + + Resets the static state + + + + + Returns return values for the out and ref parameters + Note: the array returned has the size of the number of out and ref + argument definitions + + + + + + Returns the constraints for all arguments. + Out arguments have an Is.Anything constraint and are also in the list. + + + + + What should BackToRecord clear - - - - Nothing + + + + Retain all expectations and behaviors and return to mock - - - + + + + All expectations + + + + 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 + + + + Remove all the behavior of the object - - - + + + Interface for constraints - - - - determains if the object pass the constraints + + + + Determines 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. + + + + Constrain that the public field matches another constraint. - Name of the public field. - Expected value. - - - - Creates a new instance, specifying a disambiguating - for the public field. + + + + Creates a new instance. - 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. + Name of the public field. + Constraint to place on the public field value. + + + + Creates a new instance, specifying a disambiguating + for the public field. - - - - 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. - - - + 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 - - - - - + + + + + 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 has a specified value - - - - Creates a new instance. + + + + Constrain that the property matches another constraint. - Name of the property. - Expected value. - - - - Creates a new instance, specifying a disambiguating - for the property. + + + + Creates a new instance. - The type that declares the property, used to disambiguate between properties. - Name of the property. - Expected value. - - - + 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. + + + + Creates a new instance. - Type. - - - - determains if the object pass the constraints + Type. + + + + Determines 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. + + + + Creates a new instance. - Obj. - - - + 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 + + + + + Determines if the object pass the constraints - - - + + + Gets the message for this constraint - - - - - + + + + + A constraint based on lambda expression, we are using Expression{T} + because we want to be able to get good error reporting on that. + + + + + Initializes a new instance of the class. + + The expr. + + + + Determines 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. + + + + Creates a new instance. - In list. - - - - determains if the object pass the constraints + In list. + + + + Determines 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. + + + + Creates a new instance. - In list. - - - - determains if the object pass the constraints + In list. + + + + Determines 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. + + + + Creates a new instance. - In list. - - - - determains if the object pass the constraints + In list. + + + + Determines if the object pass the constraints - - - + + + Gets the message for this constraint - - - - - + + + + Applies another AbstractConstraint to the collection count. - - - - Creates a new instance. + + + + Creates a new instance. - The constraint that should be applied to the collection count. - - - + 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. + + + + Creates a new instance. - The zero-based index of the list element. - The constraint that should be applied to the list element. - - - + 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 - - - - - + + + + + Applies another AbstractConstraint to a specific generic keyed list element. + + + + + Creates a new instance. + + The key 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 + + + + + Constrains that all elements are in the parameter list - - - - Initializes a new instance of the class. + + + + Initializes a new instance of the class. - The these. - - - - determains if the object pass the constraints + The these. + + + + Determines 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. + + + + Creates a new instance. - C1. - C2. - - - - determains if the object pass the constraints + C1. + C2. + + + + Determines if the object pass the constraints - - - + + + Gets the message for this constraint - - - - - + + + + Negate a constraint - - - - Creates a new instance. + + + + Creates a new instance. - C1. - - - - determains if the object pass the constraints + C1. + + + + Determines if the object pass the constraints - - - + + + Gets the message for this constraint - - - - - + + + + Combines two constraints - - - - - - Creates a new instance. + + + + + Creates a new instance. - C1. - C2. - - - - determains if the object pass the constraints + C1. + C2. + + + + Determines 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. + + + + Creates a new instance. - Pattern. - - - - determains if the object pass the constraints + Pattern. + + + + Determines 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. + + + + Creates a new instance. - Inner string. - - - - determains if the object pass the constraints + Inner string. + + + + Determines 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. + + + + Creates a new instance. - End. - - - - determains if the object pass the constraints + End. + + + + Determines 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. + + + + Creates a new instance. - Start. - - - - determains if the object pass the constraints + Start. + + + + Determines if the object pass the constraints - - - + + + Gets the message for this constraint - - - - - + + + + Constraint that evaluate whatever an object equals another - - - - Creates a new instance. + + + + Creates a new instance. - Obj. - - - - determains if the object pass the constraints + Obj. + + + + Determines if the object pass the constraints - - - + + + Gets the message for this constraint - - - - - + + + + Constraint that always returns true - - - - determains if the object pass the constraints + + + + Determines 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. + + + + Creates a new instance. - - - - determains if the object pass the constraints + + + + Determines if the object pass the constraints - - - + + + Gets the message for this constraint - - - - - + + + + Initializes a new constraint object. - The expected object, The actual object is passed in as a parameter to the method - - - + The expected object, The actual object is passed in as a parameter to the method + + + Evaluate this constraint. - The actual object that was passed in the method call to the mock. - True when the constraint is met, else false. - - - - Checks if the properties of the object - are the same as the properies of the object. + The actual object that was passed in the method call to the mock. + True when the constraint is met, else false. + + + + Checks if the properties of the object + are the same as the properies of the object. - The expected object - The actual object - True when both objects have the same values, else False. - - - - - - - - - - - This is the real heart of the beast. - - - + The expected object + The actual object + True when both objects have the same values, else False. + + + + + + + + + This is the real heart of the beast. + + + Used by CheckReferenceType to check all properties of the reference type. - The expected object - The actual object - True when both objects have the same values, else False. - - - + The expected object + The actual object + True when both objects have the same values, else False. + + + Used by CheckReferenceType to check all fields of the reference type. - The expected object - The actual object - True when both objects have the same values, else False. - - - + The expected object + The actual object + True when both objects have the same values, else False. + + + Checks the items of both collections - The expected collection - - - True if both collections contain the same items in the same order. - - - + The expected collection + + True if both collections contain the same items in the same order. + + + Builds a propertyname from the Stack _properties like 'Order.Product.Price' to be used in the error message. - A nested property name. - - - + A nested property name. + + + Rhino.Mocks uses this property to generate an error message. - + A message telling the tester why the constraint failed. - - - - Central location for constraints for object's public fields + + + + Provides access to the constraintes defined in the class to be used in context + with the syntax. - - - - Constrains the parameter to have a public field with the specified value + The type of the argument + + + + Evaluate a greater than constraint for . - Name of the public field. - Expected value. - - - - - - Constrains the parameter to have a public field with the specified value. + The object the parameter should be greater than + + + + Evaluate a less than constraint for . - 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. + The object the parameter should be less than + + + + Evaluate a less than or equal constraint for . - Name of the public field. - Constraint for the public field. - - - - Constrains the parameter to have a public field satisfying a specified constraint. + The object the parameter should be less than or equal to + + + + Evaluate a greater than or equal constraint for . - 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. + The object the parameter should be greater than or equal to + + + + Evaluate an equal constraint for . - Name of the public field. - - - - - - Determines whether the parameter has the specified public field and that it is null. + The object the parameter should equal to + + + + Converts the object type to a better match if this is a primitive type. - 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. + The obj. + + + + + Converts the object type to match. - Name of the public field. - - - - - - Determines whether the parameter has the specified public field and that it is not null. + + Because of implicit conversions and the way ArgConstraints this method is needed to check + object type and potentially change the object type for a better "match" so that obj1.Equals(obj2) + will return the proper "answer" + + The obj. + + + + + Evaluate a not equal constraint for . - 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 - - - + The object the parameter should not equal to + + + Evaluate a same as constraint. - The object the parameter should the same as. - - - + The object the parameter should the same as. + + + Evaluate a not same as constraint. - The object the parameter should not be the same as. - - - + The object the parameter should not be the same as. + + + + Throws NotSupportedException. Don't use Equals to define constraints. Use Equal instead. + + + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + 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. + The check is performed on the type that has been defined + as the argument type. - - - - A constraint that accept only value of the specified type + + + + Provides access to the constraints defined in the class to be used in context + with the syntax. - - - - 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. + + + + Determines whether the specified object is in the parameter. The parameter must be IEnumerable. - Obj. - - - - - - Determains whatever the parameter is in the collection. + Obj. + + + + + Determines whatever the parameter is in the collection. - - - - Determains that the parameter collection is identical to the specified collection + + + + Determines 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. - - - + 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. - - - + The zero-based index of the list element. + The constraint which should be applied to the list element. + + + Determines that all elements of the specified collection are in the the parameter collection - The collection to compare against - The constraint which should be applied to the list parameter. - - - + The collection to compare against + The constraint which should be applied to the list parameter. + + + + Throws NotSupportedException. Don't use Equals to define constraints. Use Equal instead. + + + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Provides a dummy field to pass as out or ref argument. + + + + + + Dummy field to satisfy the compiler. Used for out and ref arguments. + + + + + 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 parameter. + The parameter must be IEnumerable. + + Obj. + + + + + Determines whatever the parameter is in the collection. + + + + + Determines 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. + + + + Determines that an element of the parameter collections conforms to another AbstractConstraint. + + The key of the element. + The constraint which should be applied to the element. + + + + Determines that all elements of the specified collection are in the the parameter collection + + The collection to compare against + The constraint which should be applied to the list parameter. + + + Central location for constraints for object's properties - - - + + + Constrains the parameter to have property with the specified value - Name of the property. - Expected 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. - - - - - + 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. - - - + 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. - - - + 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. - - - - - + 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. - - - - - + 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. - - - - - + 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. - - - - - + The type that declares the property, used to disambiguate between properties. + Name of the property. + + + + constraints the parameter to have the exact same property values as the expected object. - An object, of the same type as the parameter, whose properties are set with the expected values. - An instance of the constraint that will do the actual check. - + An object, of the same type as the parameter, whose properties are set with the expected values. + An instance of the constraint that will do the actual check. + The parameter's public property values and public field values will be matched against the expected object's public property values and public field values. The first mismatch will be reported and no further matching is done. The matching is recursive for any property or field that has properties or fields of it's own. @@ -995,660 +1300,1034 @@ collection contain the same values in the same order, where the values contained by the collection can have properties and fields of their own that will be checked as well because of the recursive nature of this constraint. - - - + + + 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 - - - + + + + Provides access to the constraintes defined in the class to be used in context + with the syntax. + + + + + 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 + + + + + Throws NotSupportedException. Don't use Equals to define constraints. Use Equal instead. + + + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + This class defines a lot of method signatures, which we will use + to allow compatability on net-2.0 + + + + + dummy + + + + + dummy + + + + + dummy + + + + + dummy + + + + + dummy + + + + + dummy + + + + + dummy + + + + + dummy + + + + + dummy + + + + + dummy + + + + + dummy + + + + + dummy + + + dummy + + + + + dummy + + + + + dummy + + + + + dummy + + + + + dummy + + + + + dummy + + + + + dummy + + + + + dummy + + + + + dummy + + + + + dummy + + + + Allows expectations to be set on methods that should never be called. For methods with void return value, you need to use LastCall or DoNotExpect.Call() with a delegate. - - - - A delegate that executes an action - - - - + + + Sets LastCall.Repeat.Never() on /any/ proxy on /any/ repository on the current thread. This method if not safe for multi threading scenarios. - - - + + + Accepts a delegate that will execute inside the method which LastCall.Repeat.Never() will be applied to. 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; DoNotExpect.Call(delegate{ mockSrv.Stop(); }); ... - - - + + + An expectaton violation was detected. - - - - Creates a new instance. + + + + Creates a new instance. - Message. - - - + Message. + + + Serialization constructor - - - - Signals that an object was call on a mock repostiroy which doesn't + + + + Signals that an object was call on a mock repository which doesn't belong to this mock repository or not a mock - - - - Creates a new instance. + + + + Creates a new instance. - Message. - - - + 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 . + 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. + 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. - - - + + + + A delegate that can be used to get better syntax on Expect.Call(delegate { foo.DoSomething(); }); + + + + + 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 - - - + 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. - - - + + + + Builds the verification failure message. + + + + + 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. + The invocation. + + + + Occurs when the exceptation is match on a method call - - - + + + + Allow to set the return value in the future, if it was already set. + + + + 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 + + + + Add an actual actualMethodCall call to this expectation - - - + + + + Builds the verification failure message. + + + + + 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 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. + The originalInvocation for this method, required because it contains the generic type infromation + Number of method calls for this expectations + + + + Creates a new instance. - Expectation. - - - + Expectation. + + + Validate the arguments for the method on the child methods - The arguments with which the method was called - - - + 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 + + + + Specify whether 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. - - - + 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 - - - + + + + Occurs when the exceptation is match on a method call + + + + + Allow to set the return value in the future, if it was already set. + + + + Gets the error message. - - - - - - Expectation that matchs any arguments for the method. + + + + + Expectation that matches any arguments for the method. - - - - Creates a new instance. + + + + Creates a new instance. - Invocation for this expectation - - - - Creates a new instance. + Invocation for this expectation + Number of method calls for this expectations + + + + Creates a new instance. - Expectation. - - - + Expectation. + + + Validate the arguments for the method. - The arguments with which the method was called - - - + 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. + + + + Creates a new instance. - Expected args. - The invocation for this expectation - - - + Expected args. + The invocation for this expectation + Number of method calls for this expectations + + + Validate the arguments for the method. - The arguments with which the method was called - - - + 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. + + + + Creates a new instance. - Expectation. - Callback. - - - - Creates a new instance. + Expectation. + Callback. + + + + Creates a new instance. - Invocation for this expectation - Callback. - - - + Invocation for this expectation + Callback. + Number of method calls for this expectations + + + Validate the arguments for the method on the child methods - The arguments with which the method was called - - - + 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. + + + + Creates a new instance. - Invocation for this expectation - Constraints. - - - - Creates a new instance. + Invocation for this expectation + Constraints. + Number of method calls for this expectations + + + + Creates a new instance. - Expectation. - Constraints. - - - + Expectation. + Constraints. + + + Validate the arguments for the method. - The arguments with which the method was called - - - + 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. - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Summary for AndSpecification + + + + + + + + + + + + + + + + + + + + + + Summary description for FollowsEventNamingStandard + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Summary descritpion for NamedEventExistsOnDeclaringType + + + + + + + + Doesn't log anything, just makes happy noises - - - + + + + Log expectations - allows to see what is going on inside Rhino Mocks + + + + Logs the expectation as is was recorded - The invocation. - The expectation. - - - + The invocation. + The expectation. + + + Logs the expectation as it was recorded - The invocation. - The expectation. - - - + The invocation. + The expectation. + + + Logs the unexpected method call. - The invocation. - The message. - - - + The invocation. + The message. + + + + 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. + + + 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 @@ -1661,426 +2340,485 @@ 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. + 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. + 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 + 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. + + + + Initializes a new instance of the class. - The writer. - - - - Logs the expectation as is was recorded - - The invocation. - The expectation. - - - + The writer. + + + Logs the expectation as it was recorded - The invocation. - The expectation. - - - + 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 - - - - + The invocation. + The message. + + + 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. + + + + Records all the expectations for a mock - The proxy that generates the method calls - Repository. - - - - We don't care much about expectations here, so we will remove the exepctation if + + + + 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. + + + + + This method is called to indicate that a property behavior call. + This is done so we generate good error message in the common case of people using + Stubbed properties with Return(). + + + + + Gets the matching verify state for this state + + + + + Get the options for the last method call + + + + + 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. + + + + + This method is called to indicate that a property behavior call. + This is done so we generate good error message in the common case of people using + Stubbed properties with Return(). + + + + + 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) + + + + + Get the default call count range expectation + + + + + + 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 + + + + + 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 expectation if it is not closed. - - - + + + Verify that we can move to replay state and move to the reply state. - - - - - + + + + + Get the default call count range expectation + + + + + + Validate expectations on recorded methods, but in general completely ignoring them. + Similar to except that it would return a + when BackToRecord is called. + + + + 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. + + + + Creates a new instance. - The previous state for this method - - - + 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 - - - + 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 - - - + 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. - - - + + + + not relevant + + + + 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. - - - - Initializes a new instance of the class. - - The previous state for this method - - - + 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. + The invocation for this method + The method that was called + The arguments this method was called with + + + + Gets a mock state that matches the original mock state of the object. - - - + + + Write rhino mocks log info to the trace - - - - Initializes a new instance of the class. + + + + Initializes a new instance of the class. - - - - Initializes a new instance of the class. + + + + Initializes a new instance of the class. - if set to true [log recorded]. - if set to true [log replayed]. - if set to true [log unexpected]. - - - + if set to true [log recorded]. + if set to true [log replayed]. + if set to true [log unexpected]. + + + Logs the expectation as is was recorded - The invocation. - The expectation. - - - + The invocation. + The expectation. + + + Logs the expectation as it was recorded - The invocation. - The expectation. - - - + The invocation. + The expectation. + + + Logs the unexpected method call. - The invocation. - The message. - - - + The invocation. + The message. + + + Writes log information as stack traces about rhino mocks activity - - - + + + Allows to redirect output to a different location. - - - + + + Logs the expectation as is was recorded - The invocation. - The expectation. - - - + The invocation. + The expectation. + + + Logs the expectation as it was recorded - The invocation. - The expectation. - - - + The invocation. + The expectation. + + + Logs the unexpected method call. - The invocation. - The message. - - - + The invocation. + The message. + + + 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 - - - + + + + This is a data structure that is used by + to pass + the current method to the relevant delegate + + + + + Initializes a new instance of the class. + + The invocation. + + + + Gets the args for this method invocation + + + + + Get the method that was caused this invocation + + + + + Gets or sets the return value for this method invocation + + The return value. + + + Adds optional new usage: using(mockRepository.Record()) { Expect.Call(mock.Method()).Return(retVal); @@ -2091,1999 +2829,2703 @@ 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. + + + Generates a stub without needing a + Arguments for 's constructor + The of stub to create. + The stub + + + + Generates a stub without needing a + The of stub. + Arguments for the 's constructor. + The stub + + + + Generate a mock object without needing a + type of mock object to create. + Arguments for 's constructor + the mock object + + + + Generate a multi-mock object without needing a + The typeof object to generate a mock for. + A second interface to generate a multi-mock for. + Arguments for 's constructor + the multi-mock object + + + + Generate a multi-mock object without without needing a + The typeof object to generate a mock for. + An interface to generate a multi-mock for. + A second interface to generate a multi-mock for. + Arguments for 's constructor + the multi-mock object + + + + Creates a multi-mock without without needing a + The type of mock to create, this can be a class + Any extra interfaces to add to the multi-mock, these can only be interfaces. + Arguments for 's constructor + the multi-mock object + + + + Creates a strict mock without without needing a + Any arguments required for the 's constructor + The type of mock object to create. + The mock object with strict replay semantics + + + + Creates a strict multi-mock without needing a + Any arguments required for the 's constructor + The type of mock object to create, this can be a class. + An interface to generate a multi-mock for, this must be an interface! + The multi-mock object with strict replay semantics + + + + Creates a strict multi-mock without needing a + Any arguments required for the 's constructor + The type of mock object to create, this can be a class. + An interface to generate a multi-mock for, this must be an interface! + A second interface to generate a multi-mock for, this must be an interface! + The multi-mock object with strict replay semantics + + + + Creates a strict multi-mock without needing a + The type of mock object to create, this can be a class + Any extra interfaces to generate a multi-mock for, these must be interaces! + Any arguments for the 's constructor + The strict multi-mock object + + + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Generate a mock object with dynamic replay semantics and remoting without needing the mock repository + + + + + Generate a mock object with strict replay semantics and remoting without needing the mock repository + + + + Helper method to create a mock object without a repository instance and put the object back into replay mode. + The type of mock object to create + A delegate that uses a mock repository instance to create the underlying mock + The mock object in the replay mode. + + + + + + + + + + + + + + This is a map of types to ProxyGenerators. + + + + 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. + + + + 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 - - - + Type. + Arguments for the class' constructor, if mocking a concrete class + + + + Creates a strict mock for the specified type. + + Type. + Arguments for the class' constructor, if mocking a concrete class + + + Creates a remoting mock for the specified type. - Type. - Arguments for the class' constructor, if mocking a concrete class - - - + Type. + Arguments for the class' constructor, if mocking a concrete class + + + + Creates a strict remoting mock for the specified type. + + Type. + Arguments for the class' constructor, if mocking a concrete class + + + Creates a remoting mock for the specified type. - - - Arguments for the class' constructor, if mocking a concrete class - - - - - + + Arguments for the class' constructor, if mocking a concrete class + + + + + Creates a strict remoting mock for the specified 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. + Only may be a class. - - - + + + + Creates a strict 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. + 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. - - - + The main type to mock. + Extra interface types to mock. + Arguments for the class' constructor, if mocking a concrete class. + + + + Creates a strict 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. + Only may be a class. - The main type to mock. - Extra interface types to mock. - - - + The main type to mock. + Extra interface types to mock. + + + Creates a mock from several types, with dynamic semantics. - Only may be a class. + 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 dynamic mock for the specified type. - - 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 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 - - - + 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 dynamic mock for the specified type. + 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 that defaults to calling the class methods if no expectation is set on the method. + 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! + This method *cannot* be called from inside an ordering. + the object to move to replay state + + + + 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.You can (and it's recommended) to run {Verify()} before you use this method. + Will delete all current expectations! + + + Move the mocked object back to record state. - Will delete all current expectations, but allows more granularity about how + Optionally, can 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 - - - + 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 - - - + 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 - - - - - + 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. - - - + + + 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. + + + + Gets the proxy generator for a specific type. Having a single ProxyGenerator + with multiple types linearly degrades the performance so this implementation + keeps one ProxyGenerator per type. - - - - Creates a mock for the spesified type. + + + Set the exception to be thrown when verified is called. + + + + Creates a mock for the spesified type with strict mocking semantics. + Strict semantics means that any call that wasn't explicitly recorded is considered an error and would cause an exception to be thrown. - Arguments for the class' constructor, if mocking a concrete class - - - + Arguments for the class' constructor, if mocking a concrete class + + + + Creates a mock for the spesified type with strict mocking semantics. + Strict semantics means that any call that wasn't explicitly recorded is considered an error and would cause an exception to be thrown. + + 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 - - - + Arguments for the class' constructor, if mocking a concrete class + + + Creates a mock object from several types. - - - + + + + Creates a strict 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 - - - + Extra interface types to mock. + Arguments for the class' constructor, if mocking a concrete class + + + + Create a strict 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 - - - + 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 - - - + 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 - - - + 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. - - - + 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 type. + The arguments for constructor. + The stub + + + + Returns true if the passed mock is currently in replay mode. - The arguments for constructor. - - - - - - Generates the stub without mock repository + The mock to test. + True if the mock is in replay mode, false otherwise. + + + + Determines whether the specified proxy is a stub. - The type. - The arguments for constructor. - - - + The proxy. + + + + Register a call on a prperty behavior + + + + + 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. + + + + + A set of extension methods that adds Arrange Act Assert mode to Rhino Mocks + + + + + Create an expectation on this mock for this action to occur + + + The mock. + The action. + + + + + Reset all expectations on this mock object + + + The mock. + + + + Reset the selected expectation on this mock object + + + The mock. + The options to reset the expectations on this mock. + + + + Cause the mock state to change to replay, any further call is compared to the + ones that were called in the record state. + + the mocked object to move to replay state + + + + Gets the mock repository for this specificied mock object + + + The mock. + + + + + Create an expectation on this mock for this action to occur + + + + The mock. + The action. + + + + + Tell the mock object to perform a certain action when a matching + method is called. + Does not create an expectation for this method. + + + The mock. + The action. + + + + + Tell the mock object to perform a certain action when a matching + method is called. + Does not create an expectation for this method. + + + + The mock. + The action. + + + + + Gets the arguments for calls made on this mock object and the method that was called + in the action. + + + The mock. + The action. + + + Here we will get all the arguments for all the calls made to DoSomething(int) + + var argsForCalls = foo54.GetArgumentsForCallsMadeOn(x => x.DoSomething(0)) + + + + + + Gets the arguments for calls made on this mock object and the method that was called + in the action and matches the given constraints + + + The mock. + The action. + The setup constraints. + + + Here we will get all the arguments for all the calls made to DoSomething(int) + + var argsForCalls = foo54.GetArgumentsForCallsMadeOn(x => x.DoSomething(0)) + + + + + + Asserts that a particular method was called on this mock object + + + The mock. + The action. + + + + Asserts that a particular method was called on this mock object that match + a particular constraint set. + + + The mock. + The action. + The setup constraints. + + + + Asserts that a particular method was called on this mock object that match + a particular constraint set. + + + The mock. + The action. + + + + Asserts that a particular method was called on this mock object that match + a particular constraint set. + + + The mock. + The action. + The setup constraints. + + + + Asserts that a particular method was NOT called on this mock object + + + The mock. + The action. + + + + Asserts that a particular method was NOT called on this mock object that match + a particular constraint set. + + + The mock. + The action. + The setup constraints. + + + + Asserts that a particular method was NOT called on this mock object + + + The mock. + The action. + + + + Asserts that a particular method was NOT called on this mock object + + + The mock. + The action. + The setup constraints. + + + + Finds the approprite implementation type of this item. + This is the class or an interface outside of the rhino mocks. + + The mocked obj. + + + + + Verifies all expectations on this mock object + + The mock object. + + + + Gets the event raiser for the event that was called in the action passed + + The type of the event source. + The mock object. + The event subscription. + + + + + Raise the specified event using the passed arguments. + The even is extracted from the passed labmda + + The type of the event source. + The mock object. + The event subscription. + The sender. + The instance containing the event data. + + + + Raise the specified event using the passed arguments. + The even is extracted from the passed labmda + + The type of the event source. + The mock object. + The event subscription. + The args. + + + TODO: Make this better! It currently breaks down when mocking classes or + ABC's that call other virtual methods which are getting intercepted too. I wish + we could just walk Expression{Action{Action{T}} to assert only a single + method is being made. + + The workaround is to not call foo.AssertWasCalled .. rather foo.VerifyAllExpectations() + The type of mock object + The mock repository + The actual mock object to assert expectations on. + + + + Fake type that disallow creating it. + Should have been System.Type, but we can't use it. + + + + 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. - - - - - + 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. + + + + Create a new instance of ProxyStateDictionary - - - + + + + Allows to call a method and immediately get it's options. + + + + + Interface to allow calling a method and immediately 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. + The method call should go here, the return value is ignored + + + + Creates a new instance. - - - - 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. + The method call should go here, the return value is ignored + + + + Allows to call a method and immediately get it's options. Set the expected number for the call to Any() - - - - Creates a new instance. + + + + Creates a new instance. - Proxy. - Mocked instance. - - - + Proxy. + Mocked instance. + + + Get the method options for the call - The method call should go here, the return value is ignored - - - + 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. + + + + The scope for all the delegate interfaces create by this mock repository. - - - + + + 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 - - - + + + The most common form for the event handler signature - - - - Raise events for all subscribers for an event + + + + Create an event raiser for the specified event on this instance. - - - - Create an event raise for the specified event on this instance. + + + + Creates a new instance of EventRaiser - - - - 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. - - - + + + + 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 - - - + The object the method will return + IRepeat that defines how many times the method will return this value + + + + Allow to override this return value in the future + + IRepeat that defines how many times the method will return this value + + + Throws the specified exception when the method is called. - Exception to throw - - - + 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. - - - + + + + Set a delegate to be called when the expectation is matched. + The delegate return value will be returned from the expectation. + + + + + Set a delegate to be called when the expectation is matched. + The delegate return value will be returned from the expectation. + + + + + Set a delegate to be called when the expectation is matched. + The delegate return value will be returned from the expectation. + + + + + Set a delegate to be called when the expectation is matched. + The delegate return value will be returned from the expectation. + + + + + Set a delegate to be called when the expectation is matched. + The delegate return value will be returned from the expectation. + + + + + Set a delegate to be called when the expectation is matched. + The delegate return value will be returned from the expectation. + + + + + Set a delegate to be called when the expectation is matched. + The delegate return value will be returned from the expectation. + + + + + Set a delegate to be called when the expectation is matched. + The delegate return value will be returned from the expectation. + + + + + Set a delegate to be called when the expectation is matched. + The delegate return value will be returned from the expectation. + + + + + Set a delegate to be called when the expectation is matched. + The delegate return value will be returned from the expectation. + + + + + Set a delegate to be called when the expectation is matched. + The delegate return value will be returned from the expectation. + + + + + Set a delegate to be called when the expectation is matched + and allow to optionally modify the invocation as needed + + + + 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. - - - + + + + Expect last (property) call as property setting, ignore the argument given + + + + + + Expect last (property) call as property setting with a given argument. + + + + + + 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 - - - + 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. - - - + 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. - - - - Creates a new instance. - - the repository for this expectation - the recorder for this proxy - the proxy for this expectation - Expectation. - - - + 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 callback method for the last call + + + + + Set a callback method for the last call + + + + + Set a callback method for the last call + + + + + Set a callback method for the last call + + + + + Set a callback method for the last call + + + + + Set a callback method for the last call + + + + + Set a callback method for the last call + + + + + Set a callback method for the last call + + + + + Set a callback method for the last call + + + + + Set a callback method for the last call + + + + + 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 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 - - - + The object the method will return + IRepeat that defines how many times the method will return this value + + + + Set the return value for the method, but allow to override this return value in the future + + IRepeat that defines how many times the method will return this value + + + Throws the specified exception when the method is called. - Exception to throw - - - + 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. - - - + + + + Expect last (property) call as property setting, ignore the argument given + + + + + + Expect last (property) call as property setting with a given argument. + + + + + + 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 - - - + Message + + + Repeat the method any number of times. - - - + + + Set the range to repeat an action. - Min. - Max. - - - + 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 + + + + The sole 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 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 - - - + + + + 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 - - - + 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. - - - + + + + Get all the method calls arguments that were made against this object with the specificed + method. + + + Only method calls in replay mode are counted + + + + + Records the method call + + + + + Mocks that are tied to this mock lifestyle + + + + + 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. + + + + Gets or sets the constructor arguments. + + The constructor arguments. + + + + The mocked instance that this is representing + + + + + 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 + Return true if there is already a value for the 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. + + + + + Get all the method calls arguments that were made against this object with the specificed + method. + + + + + Only method calls in replay mode are counted + + + + + Records the method call + + + + + + + Clears the state of the object, remove original calls, property behavior, subscribed events, etc. + + + + + Mocks that are tied to this mock lifestyle + + + + 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 or sets the constructor arguments. + + The constructor arguments. + + + + The mocked instance that this is representing + + + + Gets the implemented types by this mocked object - The implemented. - - - + The implemented. + + + Range for expected method calls - - - - Creates a new instance. + + + + Creates a new instance. - Min. - Max. - - - + 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. + + + + Creates a new instance. - Repository. - The proxy that generates the method calls - - - + Repository. + The proxy that generates the method calls + + + Verify that we can move to replay state and move to the reply state. - - - + + + + Get the default call count range expectation + + + + + 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. + + + + Creates a new instance. - Repository. - The proxy that generates the method calls - - - + 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. + + + + Gets a mock state that matches 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. + + + + Creates a new instance. - The previous state for this method - - - + 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 - - - + 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. + + + + Creates a new instance. - The previous state for this method - - - + 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 - - - + 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. + + + + 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 - + 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. - - - - Validate that the two argument are equals, including validation for + Expected args. + Actual Args. + + + + Validate that the two arguments are equals, including validation for when the arguments are collections, in which case it will validate their values. - - - + + + 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 - - - + 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 - - - + 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. - - - + + + + not relevant + + + + 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 - - - + Mocked object. + Method. + List of all relevant expectation + + + Gets the all expectations for proxy. - Mocked object. - List of all relevant expectation - - - + Mocked object. + List of all relevant expectation + + + Removes all the repeatable expectations for proxy. - Mocked object. - - - + 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. - - - + Proxy. + Method. + Old expectation. + New expectation. + + + Adds the recorder and turn it into the active recorder. - 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. + + true if this instance has expectations; otherwise, false. - - - + + + 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 - - - + 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 - - - + The object the method will return + IRepeat that defines how many times the method will return this value + + + Set the return value for the method. This overload is needed for LastCall.Return(null) - The object the method will return - IRepeat that defines how many times the method will return this value - - - + 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 - - - + 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 callback method for the last call + + + + + Set a callback method for the last call + + + + + Set a callback method for the last call + + + + + Set a callback method for the last call + + + + + Set a callback method for the last call + + + + + Set a callback method for the last call + + + + + Set a callback method for the last call + + + + + Set a callback method for the last call + + + + + Set a callback method for the last call + + + + + Set a callback method for the last call + + + + + Set a callback method for the last call + + + + Call the original method on the class, bypassing the mocking layers, for the last call. - - - + + + Call the original method on the class, optionally 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 - - - + Message + + + Use the property as a simple property, getting/setting the values without causing mock expectations. - - - + + + Better syntax to define repeats. - - - + + + 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. - - - - Creates a new instance. + + + + Creates a new instance. - Parent recorder. - Repeatable methods - - - + Parent recorder. + Repeatable methods + + + 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 - - - + Mocked object. + Method. + List of all relevant expectation + + + Gets the all expectations for proxy. - Mocked object. - List of all relevant expectation - - - + 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. - - - + Proxy. + Method. + Old expectation. + New expectation. + + + Remove the all repeatable expectations for proxy. - Mocked object. - - - + 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. - - - + 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. + + 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. + + + + Creates a new instance. - Parent recorder. - Repeatable methods - - - - Creates a new instance. + Parent recorder. + Repeatable methods + + + + Creates a new instance. - - - + + + Records the specified call with the specified args on the mocked object. - Mocked object. - Method. - Expectation. - - - + Mocked object. + Method. + Expectation. + + + Get the expectation for this method on this object with this arguments - Invocation for this method - Mocked object. - Method. - Args. - True is the call was recorded, false otherwise - - - + Invocation for this method + 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 - - - + Mocked object. + Method. + List of all relevant expectation + + + Gets the all expectations for proxy. - Mocked object. - List of all relevant expectation - - - + 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. - - - + 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. + + true if this instance has expectations; otherwise, false. - - - - Ordered collection of methods, methods must arrive in specified order - in order to pass. + + + + Creates a new instance. - - - - Creates a new instance. + Parent recorder. + Repetable methods + + + + Creates a new instance. - Parent recorder. - Repetable methods - - - - 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. + + + + Creates a new instance. - Proxy. - Method. - Expectation. - - - - Determains if the object equal to this instance + Proxy. + Method. + Expectation. + + + + Determines if the object equal to this instance - Obj. - - - - - + Obj. + + + + Gets the hash code. - - - - - + + + + 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. + + + + Creates a new instance. - Proxy. - Method. - - - - Determains whatever obj equals to this instance. - ProxyMethodPairs are equals when they point to the same /instance/ of + Proxy. + Method. + + + + Determines whatever obj equals to this instance. + ProxyMethodPairs are equal when they point to the same /instance/ of an object, and to the same method. - Obj. - - - - - + Obj. + + + + Gets the hash code. - - - - - + + + + Gets the proxy. - - - - - + + + + Gets the method. - - - - - + + + + Change the recorder from ordered to unordered and vice versa - - - - Creates a new instance. + + + + Creates a new instance. - - - + + + Disposes this instance. - - - + + + Accessor for the current mocker - - - + + + The current mocker - - - + + + Used for [assembly: InternalsVisibleTo(RhinoMocks.StrongName)] Used for [assembly: InternalsVisibleTo(RhinoMocks.NormalName)] - - - + + + Strong name for the Dynamic Proxy assemblies. Used for InternalsVisibleTo specification. - - - + + + Normal name for dynamic proxy assemblies. Used for InternalsVisibleTo specification. - - - + + + Logs all method calls for methods - - - + + + 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 - - - + + + Utility class for working with method calls. - - - + + + + Return the string representation of a method call and its arguments. + + The method + The method arguments + Invocation of the method, used to get the generics 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 invocation of the method, used to get the generic parameters + 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. - - - - Return the string representation of a method call and its arguments. - - The method - The method arguments - Invocation of the method, used to get the generics 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 invocation of the method, used to get the generic parameters - The method - The method arguments - The string representation of this 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. @@ -4091,4037 +5533,92 @@ Note that we need to get the value even for opened generic types, such as those from generic methods. - Type. - The invocation. - the default value - - - + Type. + The invocation. + the default value + + + Allows easier access to MockRepository, works closely with Mocker.Current to allow access to a context where the mock repository is automatially verified at the end of the code block. - - - + + + + Initialize a code block where Mocker.Current is initialized. + At the end of the code block, all the expectation will be verified. + This overload will create a new MockRepository. + + The code that will be executed under the mock context + + + + Initialize a code block where Mocker.Current is initialized. + At the end of the code block, all the expectation will be verified. + This overload will create a new MockRepository. + + The mock repository to use, at the end of the code block, VerifyAll() will be called on the repository. + The code that will be executed under the mock context + + + + Create a FluentMocker + + The mock repository to use. + + + A method with no arguments and no return value that will be called under the mock context. - - - - Interface to verify previously defined expectations - - - - - Verifies if a piece of code - - - - + + + FluentMocker implements some kind of fluent interface attempt for saying "With the Mocks [mocks], Expecting (in same order) [things] verify [that]." - - - + + + + Interface to verify previously defined expectations + + + + + Verifies if a piece of code + + + + Defines unordered expectations - A delegate describing the expectations - an IMockVerifier - - - + A delegate describing the expectations + an IMockVerifier + + + Defines ordered expectations - A delegate describing the expectations - an IMockVerifier - - - + A delegate describing the expectations + an IMockVerifier + + + Verifies previously defined expectations - - - - Initialize a code block where Mocker.Current is initialized. - At the end of the code block, all the expectation will be verified. - This overload will create a new MockRepository. - - The code that will be executed under the mock context - - - - Initialize a code block where Mocker.Current is initialized. - At the end of the code block, all the expectation will be verified. - This overload will create a new MockRepository. - - The mock repository to use, at the end of the code block, VerifyAll() will be called on the repository. - The code that will be executed under the mock context - - - - Create a FluentMocker - - The mock repository to use. - - - - Wraps a reference that is passed - ByRef and provides indirect load/store support. - - - - - Summary description for NewArrayExpression. - - - - - - - - - Here we try to match a constructor argument to its value. - Since we can't get the values from the assembly, we use some heuristics to get it. - a/ we first try to match all the properties on the attributes by name (case insensitive) to the argument - b/ if we fail we try to match them by property type, with some smarts about convertions (i,e: can use Guid for string). - - - - - We have the following rules here. - Try to find a matching type, failing that, if the parameter is string, get the first property (under the assumption that - we can convert it. - - - - - Attributes can only accept simple types, so we return null for null, - if the value is passed as string we call to string (should help with converting), - otherwise, we use the value as is (enums, integer, etc). - - - - - Provides appropriate Ldc.X opcode for the type of primitive value to be loaded. - - - - - Provides appropriate Ldind.X opcode for - the type of primitive value to be loaded indirectly. - - - - - Inspect the base method for generic definitions - and set the return type and the parameters - accordingly - - - - - Emits a load opcode of the appropriate kind for a constant string or - primitive value. - - - - - - - - - Emits a load opcode of the appropriate kind for the constant default value of a - type, such as 0 for value types and null for reference types. - - - - - Emits a load indirect opcode of the appropriate type for a value or object reference. - Pops a pointer off the evaluation stack, dereferences it and loads - a value of the specified type. - - - - - - - - - Emits a store indirectopcode of the appropriate type for a value or object reference. - Pops a value of the specified type and a pointer off the evaluation stack, and - stores the value. - - - - - - - - - Summary description for PropertiesCollection. - - - - - Provides appropriate Stind.X opcode - for the type of primitive value to be stored indirectly. - - - - - Base class that exposes the common functionalities - to proxy generation. - - - TODO: - - Use the interceptor selector if provided - - Add tests and fixes for 'leaking this' problem - - Mixin support - - - - - Used by dinamically implement - - - - - - Generates a parameters constructor that initializes the proxy - state with just to make it non-null. - - This constructor is important to allow proxies to be XML serializable - - - - - If callbackMethod is null the InvokeOnTarget implementation - is just the code to throw an exception - - - - - - - - - - - - - - - - - - - If callbackMethod is null the InvokeOnTarget implementation - is just the code to throw an exception - - - - - - - - - - - - - - If true the invocation will implement the IChangeProxyTarget interface - - - - - - Generates the constructor for the nested class that extends - - - - - - - - - - - - - Improvement: this cache should be static. We should generate a - type constructor instead - - - - - Performs some basic screening and invokes the - to select methods. - - - - - - - - - - - Checks if the method is public or protected. - - - - - - - - - Attributes should be replicated if they are non-inheritable, - but there are some special cases where the attributes means - something to the CLR, where they should be skipped. - - - - - Checks if the method has the same signature as a method that was marked as - one that should generate a new vtable slot. - - - - - Initializes a new instance of the class. - - Type of the target. - The interfaces. - The options. - - - - - - - - Initializes a new instance of the class. - - The emitter. - The add method. - The remove method. - The attributes. - - - - - - - - Finds the type of the method on target. - - The method on interface. - Type of the proxy target. - - - - - - Checks whether the given types are the same. This is - more complicated than it looks. - - - - - - - - - - - This is used by the ProxyObjectReference class durin de-serialiation, to know - which generator it should use - - - - - Returns the methods implemented by a type. Use this instead of Type.GetMethods() to work around a CLR issue - where duplicate MethodInfos are returned by Type.GetMethods() after a token of a generic type's method was loaded. - - - - - Handles the deserialization of proxies. - - - - - Resets the used for deserialization to a new scope. - - This is useful for test cases. - - - - Resets the used for deserialization to a given . - - The scope to be used for deserialization. - By default, the deserialization process uses a different scope than the rest of the application, which can lead to multiple proxies - being generated for the same type. By explicitly setting the deserialization scope to the application's scope, this can be avoided. - - - - Gets the used for deserialization. - - As has no way of automatically determining the scope used by the application (and the application - might use more than one scope at the same time), uses a dedicated scope instance for deserializing proxy - types. This instance can be reset and set to a specific value via and . - - - - Used during the target type inspection process. - Implementors have a chance to interfere in the - proxy generation process - - - - - Invoked by the generation process to know if - the specified member should be proxied - - - - - - - - - - - Invoked by the generation process to notify that a - member wasn't marked as virtual. - - - - - - - - - Invoked by the generation process to notify - that the whole process is completed. - - - - - Abstracts the implementation of proxy constructions - - - - - Implementors should return a proxy for the specified type. - - The proxy base class. - The proxy generation options. - The generated proxy type. - - - - Implementors should return a proxy for the specified - type and interfaces. The interfaces must be only "mark" interfaces - - - - - - - - - - - - - Implementors should return a proxy for the specified - interface that 'proceeds' executions to the - specified target. - - - - - - - - - - - - - - - Implementors should return a proxy for the specified - interface that delegate all executions to the - specified interceptor(s). - - - - - - - - - - - - - Implementors should return a proxy for the specified - interface that delegate all executions to the - specified interceptor(s) and uses an instance of the interface - as their targets, rather than a class. All IInvocation's - should then implement IChangeProxyTarget. - - - - - - - - - - - Gets the module scope used by this builder for generating code. - - The module scope used by this builder. - - - - Determines whether this assembly has internals visisble to dynamic proxy. - - The asm. - - - - Determines whether the specified method is internal. - - The method. - - true if the specified method is internal; otherwise, false. - - - - - Summary description for ModuleScope. - - - - - The default file name used when the assembly is saved using . - - - - - The default assembly (simple) name used for the assemblies generated by a instance. - - - - - Initializes a new instance of the class; assemblies created by this instance will not be saved. - - - - - Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance - should be saved. - - If set to true saves the generated module. - - - - Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance - should be saved and what simple names are to be assigned to them. - - If set to true saves the generated module. - The simple name of the strong-named assembly generated by this . - The path and file name of the manifest module of the strong-named assembly generated by this . - The simple name of the weak-named assembly generated by this . - The path and file name of the manifest module of the weak-named assembly generated by this . - - - - Returns a type from this scope's type cache, or null if the key cannot be found. - - The key to be looked up in the cache. - The type from this scope's type cache matching the key, or null if the key cannot be found - - - - Registers a type in this scope's type cache. - - The key to be associated with the type. - The type to be stored in the cache. - - - - Gets the key pair used to sign the strong-named assembly generated by this . - - - - - - - Gets the specified module generated by this scope, creating a new one if none has yet been generated. - - If set to true, a strong-named module is returned; otherwise, a weak-named module is returned. - A strong-named or weak-named module generated by this scope, as specified by the parameter. - - - - Gets the strong-named module generated by this scope, creating a new one if none has yet been generated. - - A strong-named module generated by this scope. - - - - Gets the weak-named module generated by this scope, creating a new one if none has yet been generated. - - A weak-named module generated by this scope. - - - - Saves the generated assembly with the name and directory information given when this instance was created (or with - the and current directory if none was given). - - - - This method stores the generated assembly in the directory passed as part of the module information specified when this instance was - constructed (if any, else the current directory is used). If both a strong-named and a weak-named assembly - have been generated, it will throw an exception; in this case, use the overload. - - - If this was created without indicating that the assembly should be saved, this method does nothing. - - - Both a strong-named and a weak-named assembly have been generated. - The path of the generated assembly file, or null if no file has been generated. - - - - Saves the specified generated assembly with the name and directory information given when this instance was created - (or with the and current directory if none was given). - - True if the generated assembly with a strong name should be saved (see ); - false if the generated assembly without a strong name should be saved (see . - - - This method stores the specified generated assembly in the directory passed as part of the module information specified when this instance was - constructed (if any, else the current directory is used). - - - If this was created without indicating that the assembly should be saved, this method does nothing. - - - No assembly has been generated that matches the parameter. - - The path of the generated assembly file, or null if no file has been generated. - - - - Users of this should use this lock when accessing the cache. - - - - - Gets the strong-named module generated by this scope, or if none has yet been generated. - - The strong-named module generated by this scope, or if none has yet been generated. - - - - Gets the file name of the strongly named module generated by this scope. - - The file name of the strongly named module generated by this scope. - - - - Gets the directory where the strongly named module generated by this scope will be saved, or if the current directory - is used. - - The directory where the strongly named module generated by this scope will be saved when is called - (if this scope was created to save modules). - - - - Gets the weak-named module generated by this scope, or if none has yet been generated. - - The weak-named module generated by this scope, or if none has yet been generated. - - - - Gets the file name of the weakly named module generated by this scope. - - The file name of the weakly named module generated by this scope. - - - - Gets the directory where the weakly named module generated by this scope will be saved, or if the current directory - is used. - - The directory where the weakly named module generated by this scope will be saved when is called - (if this scope was created to save modules). - - - - ProxyBuilder that persists the generated type. - - - The saved assembly contains just the last generated type. - - - - - Initializes a new instance of the class. - - - - - Saves the generated assembly to a physical file. Note that this renders the unusable. - - The path of the generated assembly file, or null if no assembly has been generated. - This method does not support saving multiple files. If both a signed and an unsigned module have been generated, use the - respective methods of the . - - - - Initializes a new instance of the class. - - The hook. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The builder. - - - - Initializes a new instance of the class. - - - - - Creates the class proxy. - - Type of the target. - The interfaces. - The interceptors. - - - - - - Creates the class proxy. - - Type of the target. - The interceptors. - The constructor args. - - - - - - - - - - - - - - - - - - Creates the class proxy. - - Type of the target. - The interfaces. - The options. - The constructor args. - The interceptors. - - - - - - Gets the proxy builder instance. - - The proxy builder. - - - - - - - - - - - - - - For interface proxies, this will point to the - on the target class - - - - - Base for Attributes that want to express lifestyle - chosen by the component. - - - - - Initializes a new instance of the class. - - The type. - - - - Gets or sets the lifestyle. - - The lifestyle. - - - - This attribute is usefull only when you want to register all components - on an assembly as a batch process. - By doing so, the batch register will look - for this attribute to distinguish components from other classes. - - - - - Initializes a new instance of the class. - - The key. - - - - Initializes a new instance of the class. - - The key. - The service. - - - - Initializes a new instance of the class. - - The key. - The service. - The lifestyle. - - - - Gets the service. - - The service. - - - - Gets the key. - - The key. - - - - Associates a custom component with a component - - - - - Initializes a new instance of the class. - - Type of the component activator. - - - - Gets the type of the component activator. - - The type of the component activator. - - - - Specifies the proxying behavior for a component. - - - - - Initializes a new instance of the class. - - - - - Gets or sets a value indicating whether the generated - interface proxy should inherit from . - - - - - Determines if the component requires a single interface proxy. - - - true if the component requires a single interface proxy. - - - - Gets or sets the additional interfaces used during proxy generation. - - - - - Marks as property to be skipped and not be wired - by the IoC container - - - - - Used to declare that a component wants interceptors acting on it. - - - - - Constructs the InterceptorAttribute pointing to - a key to a interceptor - - - - - - - Constructs the InterceptorAttribute pointing to - a service - - - - - - - Indicates that the target components wants a - singleton lifestyle. - - - - - Initializes a new instance of the class. - - - - - Indicates that the target components wants a - transient lifestyle. - - - - - Initializes a new instance of the class. - - - - - Indicates that the target components wants a - per thread lifestyle. - - - - - Initializes a new instance of the class. - - - - - Indicates that the target components wants a - per web request lifestyle. - - - - - Indicates that the target components wants a - pooled lifestyle. - - - - - Initializes a new instance of the class - using the default initial pool size (5) and the max pool size (15). - - - - - Initializes a new instance of the class. - - Initial size of the pool. - Max pool size. - - - - Gets the initial size of the pool. - - The initial size of the pool. - - - - Gets the maximum pool size. - - The size of the max pool. - - - - Indicates that the target components wants a - custom lifestyle. - - - - - Initializes a new instance of the class. - - The lifestyle handler. - - - - Gets the type of the lifestyle handler. - - The type of the lifestyle handler. - - - - New interface that is going to be used by DynamicProxy 2 - - - - - New interface that is going to be used by DynamicProxy 2 - - - - - Returns the concrete instantiation of , with any generic parameters bound to real types. - - The concrete instantiation of , or if not a generic method. - Can be slower than calling . - - - - Returns the concrete instantiation of , with any generic parameters bound to real types. - - The concrete instantiation of , or if not a generic method. - Can be slower than calling . - - - - - - - - - - The generic arguments of the method, or null if not a generic method. - - - - - - - - - For interface proxies, this will point to the - on the target class - - - - - Interceptors might implement this to receive the - ComponentModel on behalf of the component where the - interceptor is acting. - - - - - Get the proxy target (note that null is a valid target!) - - - - - - - Gets the interceptors for the proxy - - - - - - - Abstract representation of a vertex. - - - - - The nodes that dependes on this node - - - - - The nodes that this node depends - - - - - The node has not been visited yet - - - - - This node is in the process of being visited - - - - - This now was visited - - - - - Represents a collection of objects - which are guaranted to be unique - and holds a color for them - - - - - Holds a timestamp (integer) - for a given item - - - - - Returns the node at the specified index. - - The lookup index. - The node at the specified index. - - If the specified is greater than the - number of objects within the list. - - - - - Validates the specified index. - - The lookup index. - - If the index is invalid. - - - - - Lifecycle interface. If implemented by a component, - the method Initialized will be invoked by the container - before making the component available to the external world. - - - - - Implementors should perform any initialization logic. - - - - - Only called for components that - belongs to a pool when the component - comes back to the pool. - - - - - Implementors should perform any - initialization/clean up. - - - - - Interface for components that wish to be started by the container - - - - - Starts this instance. - - - - - Stops this instance. - - - - - Manages the instantiation of s. - - - - - Creates a new logger, getting the logger name from the specified type. - - - - - Creates a new logger. - - - - - Creates a new logger, getting the logger name from the specified type. - - - - - Creates a new logger. - - - - - Provides a factory that can produce either or - classes. - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Gets the configuration file. - - i.e. log4net.config - - - - - - Gets the configuration file. - - i.e. log4net.config - - - - - - Summary description for ConsoleFactory. - - - - - NullLogFactory used when logging is turned off. - - - - - Creates an instance of ILogger with the specified name. - - Name. - - - - - - Creates an instance of ILogger with the specified name and LoggerLevel. - - Name. - Level. - - - - - - Creates outputing - to files. The name of the file is derived from the log name - plus the 'log' extension. - - - - - Manages logging. - - - This is a facade for the different logging subsystems. - It offers a simplified interface that follows IOC patterns - and a simplified priority/level/severity abstraction. - - - - - Logs a debug message. - - The message to log - - - - Logs a debug message. - - The exception to log - The message to log - - - - Logs a debug message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The message to log - - - - Logs an info message. - - The exception to log - The message to log - - - - Logs an info message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The message to log - - - - Logs a warn message. - - The exception to log - The message to log - - - - Logs a warn message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The message to log - - - - Logs an error message. - - The exception to log - The message to log - - - - Logs an error message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The message to log - - - - Logs a fatal message. - - The exception to log - The message to log - - - - Logs a fatal message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal error message. - - The Message - - - - Logs a fatal error message. - - The Message - The Exception - - - - Logs a fatal error message. - - Message format - Array of objects to write using format - - - - Create a new child logger. - The name of the child logger is [current-loggers-name].[passed-in-name] - - The Subname of this logger. - The New ILogger instance. - If the name has an empty element name. - - - - Determines if messages of priority "debug" will be logged. - - True if "debug" messages will be logged. - - - - Determines if messages of priority "info" will be logged. - - True if "info" messages will be logged. - - - - Determines if messages of priority "warn" will be logged. - - True if "warn" messages will be logged. - - - - Determines if messages of priority "error" will be logged. - - True if "error" messages will be logged. - - - - Determines if messages of priority "fatal" will be logged. - - True if "fatal" messages will be logged. - - - - Determines if messages of priority "fatalError" will be logged. - - True if "fatalError" messages will be logged. - - - - The Level Filtered Logger class. This is a base clase which - provides a LogLevel attribute and reroutes all functions into - one Log method. - - - - - Creates a new LevelFilteredLogger. - - - - - Keep the instance alive in a remoting scenario - - - - - - - Logs a debug message. - - The message to log - - - - Logs a debug message. - - The exception to log - The message to log - - - - Logs a debug message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - Message format - Array of objects to write using format - - - - Logs an info message. - - The message to log - - - - Logs an info message. - - The exception to log - The message to log - - - - Logs an info message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - Message format - Array of objects to write using format - - - - Logs a warn message. - - The message to log - - - - Logs a warn message. - - The exception to log - The message to log - - - - Logs a warn message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - Message format - Array of objects to write using format - - - - Logs an error message. - - The message to log - - - - Logs an error message. - - The exception to log - The message to log - - - - Logs an error message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - Message format - Array of objects to write using format - - - - Logs a fatal message. - - The message to log - - - - Logs a fatal message. - - The exception to log - The message to log - - - - Logs a fatal message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - Message format - Array of objects to write using format - - - - Logs a fatal error message. - - The Message - - - - Logs a fatal error message. - - The Message - The Exception - - - - Logs a fatal error message. - - Message format - Array of objects to write using format - - - - Implementors output the log content by implementing this method only. - Note that exception can be null - - - - - - - - - - - - - The LoggerLevel that this logger - will be using. Defaults to LoggerLevel.Off - - - - The name that this logger will be using. - Defaults to String.Empty - - - - Determines if messages of priority "debug" will be logged. - - - true if log level flags include the bit - - - - Determines if messages of priority "info" will be logged. - - - true if log level flags include the bit - - - - Determines if messages of priority "warn" will be logged. - - - true if log level flags include the bit - - - - Determines if messages of priority "error" will be logged. - - - true if log level flags include the bit - - - - Determines if messages of priority "fatal" will be logged. - - - true if log level flags include the bit - - - - Determines if messages of priority "fatal" will be logged. - - - true if log level flags include the bit - - - - The Logger sending everything to the standard output streams. - This is mainly for the cases when you have a utility that - does not have a logger to supply. - - - - - Creates a new ConsoleLogger with the Level - set to LoggerLevel.Debug and the Name - set to String.Empty. - - - - - Creates a new ConsoleLogger with the Name - set to String.Empty. - - The logs Level. - - - - Creates a new ConsoleLogger with the Level - set to LoggerLevel.Debug. - - The logs Name. - - - - Creates a new ConsoleLogger. - - The logs Name. - The logs Level. - - - - A Common method to log. - - The level of logging - The name of the logger - The Message - The Exception - - - - Returns a new ConsoleLogger with the name - added after this loggers name, with a dot in between. - - The added hierarchical name. - A new ConsoleLogger. - - - - The Logger using standart Diagnostics namespace. - - - - - Creates a logger based on . - - - - - - - - Creates a logger based on . - - - - - - - - - - - Creates a logger based on . - - - - - - - - - - - - - - Provides an interface that supports and - allows the storage and retrieval of Contexts. These are supported in - both log4net and NLog. - - - - - Exposes the Global Context of the extended logger. - - - - - Exposes the Thread Context of the extended logger. - - - - - Exposes the Thread Stack of the extended logger. - - - - - The Null Logger class. This is useful for implementations where you need - to provide a logger to a utility class, but do not want any output from it. - It also helps when you have a utility that does not have a logger to supply. - - - - - Creates a new NullLogger. - - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - Returns this NullLogger. - - Ignored - This ILogger instance. - - - - No-op. - - false - - - - No-op. - - false - - - - No-op. - - false - - - - No-op. - - false - - - - No-op. - - false - - - - No-op. - - false - - - - Returns empty context properties. - - - - - Returns empty context properties. - - - - - Returns empty context stacks. - - - - - Interface for Context Properties implementations - - - - This interface defines a basic property get set accessor. - - - Based on the ContextPropertiesBase of log4net, by Nicko Cadell. - - - - - - Gets or sets the value of a property - - - The value for the property with the specified key - - - - Gets or sets the value of a property - - - - - - The Stream Logger class. This class can stream log information - to any stream, it is suitable for storing a log file to disk, - or to a MemoryStream for testing your components. - - - This logger is not thread safe. - - - - - Creates a new StreamLogger with default encoding - and buffer size. Initial Level is set to Debug. - - - The name of the log. - - - The stream that will be used for logging, - seeking while the logger is alive - - - - - Creates a new StreamLogger with default buffer size. - Initial Level is set to Debug. - - - The name of the log. - - - The stream that will be used for logging, - seeking while the logger is alive - - - The encoding that will be used for this stream. - - - - - Creates a new StreamLogger. - Initial Level is set to Debug. - - - The name of the log. - - - The stream that will be used for logging, - seeking while the logger is alive - - - The encoding that will be used for this stream. - - - The buffer size that will be used for this stream. - - - - - Creates a new StreamLogger with - Debug as default Level. - - The name of the log. - The StreamWriter the log will write to. - - - - The WebLogger sends everything to the HttpContext.Trace - - - Trace must be enabled on the Asp.Net configuration file (web.config or machine.config) - - - - - Creates a new WebLogger with the priority set to DEBUG. - - - - - Creates a new WebLogger. - - The Log level typecode. - - - - Creates a new WebLogger. - - The Log name. - - - - Creates a new WebLogger. - - The Log name. - The Log level typecode. - - - - A Common method to log. - - The level of logging - The Log name. - The Message - The Exception - - - - Just returns this logger (WebLogger is not hierarchical). - - Ignored - This ILogger instance. - - - - Tries to get the current http context's trace context. - - The current http context's trace context or null if none is - available - - - - Supporting Logger levels. - - - - - Logging will be off - - - - - Fatal logging level - - - - - Error logging level - - - - - Warn logging level - - - - - Info logging level - - - - - Debug logging level - - - - - Pendent - - - - - Deserializes the specified node into an abstract representation of configuration. - - The node. - - - - - - If a config value is an empty string we return null, this is to keep - backward compability with old code - - - - - Summary description for IConfiguration. - - - is a interface encapsulating a configuration node - used to retrieve configuration values. - - - - - Gets the value of the node and converts it - into specified . - - The - - The Default value returned if the convertion fails. - - The Value converted into the specified type. - - - - Gets the name of the node. - - - The Name of the node. - - - - - Gets the value of the node. - - - The Value of the node. - - - - - Gets an of - elements containing all node children. - - The Collection of child nodes. - - - - Gets an of the configuration attributes. - - - - - This is an abstract implementation - that deals with methods that can be abstracted away - from underlying implementations. - - - - AbstractConfiguration makes easier to implementers - to create a new version of - - - - - Gets the value of the node and converts it - into specified . - - The - - The Default value returned if the convertion fails. - - The Value converted into the specified type. - - - - Gets the name of the . - - - The Name of the . - - - - - Gets the value of . - - - The Value of the . - - - - - Gets all child nodes. - - The of child nodes. - - - - Gets node attributes. - - - All attributes of the node. - - - - - A collection of objects. - - - - - Creates a new instance of ConfigurationCollection. - - - - - Creates a new instance of ConfigurationCollection. - - - - - Creates a new instance of ConfigurationCollection. - - - - - Adds an . - - The to add. - - The index at which the new element was inserted. - - - - - Adds an array of . - - The Array of to add. - - - - Adds a . - - The to add. - - - - Copies the elements to a one-dimensional instance at the specified index. - - - The one-dimensional must have zero-based indexing. - - The zero-based index in array at which copying begins. - - - - Gets a value indicating whether the contains - in the collection. - - The to locate. - - if the is contained in the collection; - otherwise, . - - - - - Removes a specific from the - collection. - - The to remove from the collection. - - is not found in the collection. - - - - - Represents the entry at the specified index of the . - - - The zero-based index of the entry to locate in the collection. - - - The entry at the specified index of the collection. - - - is outside the valid range of indexes for the collection. - - - - - Summary description for MutableConfiguration. - - - - - Initializes a new instance of the class. - - The name. - - - - Enumeration used to mark the component's lifestyle. - - - - - No lifestyle specified. - - - - - Singleton components are instantiated once, and shared - between all clients. - - - - - Thread components have a unique instance per thread. - - - - - Transient components are created on demand. - - - - - Optimization of transient components that keeps - instance in a pool instead of always creating them. - - - - - Any other logic to create/release components. - - - - - PerWebRequest components are created once per Http Request - - - - - - - - - Represents the collection of information and - meta information collected about a component. - - - - Name (key) of the component - - - Service exposed - - - Implementation for the service - - - Extended properties - - - Lifestyle for the component - - - Custom lifestyle, if any - - - Custom activator, if any - - - Dependencies the kernel must resolve - - - All available constructors - - - All potential properties that can be setted by the kernel - - - Steps of lifecycle - - - External parameters - - - Configuration node associated - - - Interceptors associated - - - /// Custom dependencies/// - - - - Constructs a ComponentModel - - - - - Sets or returns the component key - - - - - Gets or sets the service exposed. - - The service. - - - - Gets or sets the component implementation. - - The implementation. - - - - Gets or sets a value indicating whether the component requires generic arguments. - - - true if generic arguments are required; otherwise, false. - - - - - Gets or sets the extended properties. - - The extended properties. - - - - Gets the constructors candidates. - - The constructors. - - - - Gets the properties set. - - The properties. - - - - Gets or sets the configuration. - - The configuration. - - - - Gets the lifecycle steps. - - The lifecycle steps. - - - - Gets or sets the lifestyle type. - - The type of the lifestyle. - - - - Gets or sets the strategy for - inspecting public properties - on the components - - - - - Gets or sets the custom lifestyle. - - The custom lifestyle. - - - - Gets or sets the custom component activator. - - The custom component activator. - - - - Gets the interceptors. - - The interceptors. - - - - Gets the parameter collection. - - The parameters. - - - - Dependencies are kept within constructors and - properties. Others dependencies must be - registered here, so the kernel (as a matter - of fact the handler) can check them - - - - - Gets or sets the custom dependencies. - - The custom dependencies. - - - - Represents a constructor of the component - that the container can use to initialize it properly. - - - - - Initializes a new instance of the class. - - The constructor info. - The dependencies. - - - - Gets the ConstructorInfo (from reflection). - - The constructor. - - - - Gets the dependencies this constructor candidate exposes. - - The dependencies. - - - - Collection of - - - - Adds the specified candidate. - - The candidate. - - - - Clears this instance. - - - - - Gets the fewer arguments candidate. - - The fewer arguments candidate. - - - - Represents a dependency (other component or a - fixed value available through external configuration). - - - - - Initializes a new instance of the class. - - The type. - The dependency key. - Type of the target. - if set to true [is optional]. - - - - Returns a that represents the current . - - - A that represents the current . - - - - - Serves as a hash function for a particular type, suitable - for use in hashing algorithms and data structures like a hash table. - - - A hash code for the current . - - - - - Determines whether the specified is equal to the current . - - The to compare with the current . - - if the specified is equal to the - current ; otherwise, . - - - - - Gets or sets the type of the dependency. - - The type of the dependency. - - - - Gets or sets the dependency key. - - The dependency key. - - - - Gets the type of the target. - - The type of the target. - - - - Gets or sets whether this dependency is optional. - - - true if this dependency is optional; otherwise, false. - - - - - Collection of . - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The dependencies. - - - - Initializes a new instance of the class. - - The dependencies. - - - - Adds the specified model. - - The model. - - - - Removes the specified model. - - The model. - - - - Clears this instance. - - - - - Determines whether this collection contains the the specified model. - - The model. - - true if the collection contains the specified model; otherwise, false. - - - - - Represents an reference to a Interceptor component. - - - - - Initializes a new instance of the class. - - The component key. - - - - Initializes a new instance of the class. - - Type of the service. - - - - Gets an for the component key. - - The component key. - The - - - - Gets an for the service. - - The service. - The - - - - Gets the type of the service. - - The type of the service. - - - - Gets the interceptor component key. - - The component key. - - - - Gets the type of the reference. - - The type of the reference. - - - - Collection of - - - - Adds the specified interceptor. - - The interceptor. - - - - Adds the the specified interceptor as the first. - - The interceptor. - - - - Adds the the specified interceptor as the last. - - The interceptor. - - - - Inserts the specified interceptor at the specified index. - - The index. - The interceptor. - - - - When implemented by a class, copies the elements of - the to an , starting at a particular index. - - The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. - The zero-based index in at which copying begins. - - is . - - is less than zero. - - - is multidimensional. - -or- - - is equal to or greater than the length of . - -or- - The number of elements in the source is greater than the available space from to the end of the destination . - - The type of the source cannot be cast automatically to the type of the destination . - - - - Returns an enumerator that can iterate through a collection. - - - An - that can be used to iterate through the collection. - - - - - Adds the interceptor to the end of the interceptors list if it does not exist already. - - The interceptor reference. - - - - Gets a value indicating whether this instance has interceptors. - - - true if this instance has interceptors; otherwise, false. - - - - - Gets the number of - elements contained in the . - - - - - - - Gets an object that - can be used to synchronize access to the . - - - - - - - Gets a value - indicating whether access to the is synchronized - (thread-safe). - - - - - - - Represents a collection of ordered lifecycle steps. - - - - - Initializes a new instance of the class. - - - - - Returns all steps for the commission phase - - - - - - - Returns all steps for the decommission phase - - - - - - - Adds a step to the commission or decomission phases. - - - - - - - - - Copies the elements of - the to an , starting at a particular index. - - The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. - The zero-based index in at which copying begins. - - is . - - is less than zero. - - - is multidimensional. - -or- - - is equal to or greater than the length of . - -or- - The number of elements in the source is greater than the available space from to the end of the destination . - - The type of the source cannot be cast automatically to the type of the destination . - - - - Returns an enumerator that can iterate through a collection. - - - An - that can be used to iterate through the collection. - - - - - Gets a value indicating whether this instance has commission steps. - - - true if this instance has commission steps; otherwise, false. - - - - - Gets a value indicating whether this instance has decommission steps. - - - true if this instance has decommission steps; otherwise, false. - - - - - Gets the number of - elements contained in the . - - - - - - - Gets an object that - can be used to synchronize access to the . - - - - - - - Gets a value - indicating whether access to the is synchronized - (thread-safe). - - - - - - - Represents meta information associated with a method - (not yet defined) - - - - - Initializes a new instance of the class. - - The config node. - - - - Gets the config node. - - The config node. - - - - Collection of - - - - Adds the specified model. - - The model. - - - - Gets the method info2 model. - - The method info2 model. - - - - Represents a parameter. Usually the parameter - comes from the external world, ie, an external configuration. - - - - - Initializes a new instance of the class. - - The name. - The value. - - - - Initializes a new instance of the class. - - The name. - The value. - - - - Gets the name. - - The name. - - - - Gets the value. - - The value. - - - - Gets the config value. - - The config value. - - - - Collection of - - - - Initializes a new instance of the class. - - - - - Adds the specified name. - - The name. - The value. - - - - Adds the specified name. - - The name. - The config node. - - - - Determines whether this collection contains the specified key. - - The key. - - true if yes; otherwise, false. - - - - - Adds the specified key. - - - Not implemented - - The key. - The value. - - - - Clears this instance. - - - Not implemented - - - - - Removes the specified key. - - The key. - - Not implemented - - - - - Copy the content to the specified array - - target array - target index - - Not implemented - - - - - Returns an enumerator that can iterate through a collection. - - - An - that can be used to iterate through the collection. - - - - - Gets the keys. - - The keys. - - Not implemented - - - - - Gets the values. - - The values. - - Not implemented - - - - - Gets a value indicating whether this instance is read only. - - - true if this instance is read only; otherwise, false. - - - - - Gets a value indicating whether this instance is fixed size. - - - true if this instance is fixed size; otherwise, false. - - - - - Gets the with the specified key. - - - - - - - Gets the count. - - The count. - - - - Gets the sync root. - - The sync root. - - - - Gets a value indicating whether this instance is synchronized. - - - true if this instance is synchronized; otherwise, false. - - - - - Represents a property and the respective dependency. - - - - - Initializes a new instance of the class. - - The property info. - The dependency. - - - - Gets the property. - - The property. - - - - Gets the dependency. - - The dependency. - - - - Collection of - - - - Adds the specified property. - - The property. - - - - Clears this instance. - - - - - Finds a PropertySet the by PropertyInfo. - - The info. - - - - - - Represents a 'streamable' resource. Can - be a file, a resource in an assembly. - - - - - Returns a reader for the stream - - - It's up to the caller to dispose the reader. - - - - - - - Returns a reader for the stream - - - It's up to the caller to dispose the reader. - - - - - - - - - Returns an instance of - created according to the relativePath - using itself as the root. - - - - - - - - - - - Only valid for resources that - can be obtained through relative paths - - - - - - - - - This returns a new stream instance each time it is called. - It is the responsability of the caller to dispose of this stream - - - - - Depicts the contract for resource factories. - - - - - Used to check whether the resource factory - is able to deal with the given resource - identifier. - - - Implementors should return true - only if the given identificator is supported - by the resource factory - - - - - - - - - Creates an instance - for the given resource identifier - - - - - - - - - Creates an instance - for the given resource identifier - - - - - - - - - - - - - - - - - - - - - - - Adapts a static string content as an - - - - Enable access to files on network shares - - - - - Defines that the implementation wants a - in order to - access other components. The creator must be aware - that the component might (or might not) implement - the interface. - - - Used by Castle Project components to, for example, - gather logging factories - - - - - Increments IServiceProvider with a generic service resolution operation. - - - - - This interface should be implemented by classes - that are available in a bigger context, exposing - the container to different areas in the same application. - - For example, in Web application, the (global) HttpApplication - subclasses should implement this interface to expose - the configured container - - - - - General purpose class to represent a standard pair of values. - - Type of the first value - Type of the second value - - - - Constructs a pair with its values - - - - - - - - - Pendent - - - - - Initializes a new instance of the class. - - The target. - - - - Determines whether the object contains an element with the specified key. - - The key to locate in the object. - - true if the contains an element with the key; otherwise, false. - - - is null. - - - - Adds an element with the provided key and value to the object. - - The to use as the key of the element to add. - The to use as the value of the element to add. - - is null. - An element with the same key already exists in the object. - The is read-only.-or- The has a fixed size. - - - - Removes all elements from the object. - - The object is read-only. - - - - Removes the element with the specified key from the object. - - The key of the element to remove. - - is null. - The object is read-only.-or- The has a fixed size. - - - - Copies the elements of the to an , starting at a particular index. - - The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. - The zero-based index in at which copying begins. - - is null. - - is less than zero. - - is multidimensional.-or- is equal to or greater than the length of .-or- The number of elements in the source is greater than the available space from to the end of the destination . - The type of the source cannot be cast automatically to the type of the destination . - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - - - - Gets or sets the with the specified key. - - - - - - - Gets an object containing the keys of the object. - - - - An object containing the keys of the object. - - - - Gets an object containing the values in the object. - - - - An object containing the values in the object. - - - - Gets a value indicating whether the object is read-only. - - - - true if the object is read-only; otherwise, false. - - - - Gets a value indicating whether the object has a fixed size. - - - - true if the object has a fixed size; otherwise, false. - - - - Gets the number of elements contained in the . - - - - The number of elements contained in the . - - - - Gets an object that can be used to synchronize access to the . - - - - An object that can be used to synchronize access to the . - - - - Gets a value indicating whether access to the is synchronized (thread safe). - - - - true if access to the is synchronized (thread safe); otherwise, false. - - - \ No newline at end of file + + + + This delegate is compatible with the System.Func{T,R} signature + We have to define our own to get compatability with 2.0 + + + + + This attribute is here so we can get better Pex integration + Using this means that Pex will not try to inspect the work of + the actual proxies being generated by Rhino Mocks + + + + diff --git a/lib/Net/2.0/Rhino.Mocks.dll b/lib/Net/2.0/Rhino.Mocks.dll index 89facd92130931acb5c20362da457e84cee96817..3fc4b2ae43749290088c7502237fcfd2bc436cb5 100644 GIT binary patch literal 315904 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 z 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�$q&Kc&3}uBC{qQ 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 diff --git a/lib/Net/2.0/Rhino.Mocks.xml b/lib/Net/2.0/Rhino.Mocks.xml index 0ec4e02d..d6ae366d 100644 --- a/lib/Net/2.0/Rhino.Mocks.xml +++ b/lib/Net/2.0/Rhino.Mocks.xml @@ -1,993 +1,1298 @@ - + - - Rhino.Mocks - - - - + + Rhino.Mocks + + + + + Defines constraints and return values for arguments of a mock. + Only use Arg inside a method call on a mock that is recording. + Example: + ExpectCall( + mock.foo( + Arg<int>.Is.GreaterThan(2), + Arg<string>.Is.Anything + )); + Use Arg.Text for string specific constraints + Use Arg<ListClass>.List for list specific constraints + + + + + + Register the predicate as a constraint for the current call. + + The predicate. + default(T) + + Allow you to use code to create constraints + + demo.AssertWasCalled(x => x.Bar(Arg{string}.Matches(a => a.StartsWith("b") && a.Contains("ba")))); + + + + + + Define a complex constraint for this argument by passing several constraints + combined with operators. (Use Is in simple cases.) + Example: Arg<string>.Matches(Is.Equal("Hello") || Text.EndsWith("u")); + + Constraints using Is, Text and List + Dummy to satisfy the compiler + + + + Define a Ref argument. + + Constraints for this argument + value returned by the mock + + + + + Define a out parameter. Use it together with the keyword out and use the + Dummy field available by the return value. + Example: mock.foo( out Arg<string>.Out("hello").Dummy ); + + + + + + + Define a simple constraint for this argument. (Use Matches in simple cases.) + Example: + Arg<int>.Is.Anthing + Arg<string>.Is.Equal("hello") + + + + + Define Constraints on list arguments. + + + + + Use the Arg class (without generic) to define Text constraints + + + + + Evaluate an equal constraint for . + + The object the parameter should equal to + + + + Define constraints on text arguments. + + + + + Used to manage the static state of the Arg<T> class"/> + + + + + Resets the static state + + + + + Returns return values for the out and ref parameters + Note: the array returned has the size of the number of out and ref + argument definitions + + + + + + Returns the constraints for all arguments. + Out arguments have an Is.Anything constraint and are also in the list. + + + + + What should BackToRecord clear - - - - Nothing + + + + Retain all expectations and behaviors and return to mock - - - + + + + All expectations + + + + 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 + + + + Remove all the behavior of the object - - - + + + Interface for constraints - - - - determains if the object pass the constraints + + + + Determines 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. + + + + Constrain that the public field matches another constraint. - Name of the public field. - Expected value. - - - - Creates a new instance, specifying a disambiguating - for the public field. + + + + Creates a new instance. - 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. + Name of the public field. + Constraint to place on the public field value. + + + + Creates a new instance, specifying a disambiguating + for the public field. - - - - 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. - - - + 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 - - - - - + + + + + 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 has a specified value - - - - Creates a new instance. + + + + Constrain that the property matches another constraint. - Name of the property. - Expected value. - - - - Creates a new instance, specifying a disambiguating - for the property. + + + + Creates a new instance. - The type that declares the property, used to disambiguate between properties. - Name of the property. - Expected value. - - - + 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. + + + + Creates a new instance. - Type. - - - - determains if the object pass the constraints + Type. + + + + Determines 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. + + + + Creates a new instance. - Obj. - - - + 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 + + + + + Determines if the object pass the constraints - - - + + + Gets the message for this constraint - - - - - + + + + + A constraint based on lambda expression, we are using Expression{T} + because we want to be able to get good error reporting on that. + + + + + Initializes a new instance of the class. + + The expr. + + + + Determines 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. + + + + Creates a new instance. - In list. - - - - determains if the object pass the constraints + In list. + + + + Determines 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. + + + + Creates a new instance. - In list. - - - - determains if the object pass the constraints + In list. + + + + Determines 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. + + + + Creates a new instance. - In list. - - - - determains if the object pass the constraints + In list. + + + + Determines if the object pass the constraints - - - + + + Gets the message for this constraint - - - - - + + + + Applies another AbstractConstraint to the collection count. - - - - Creates a new instance. + + + + Creates a new instance. - The constraint that should be applied to the collection count. - - - + 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. + + + + Creates a new instance. - The zero-based index of the list element. - The constraint that should be applied to the list element. - - - + 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 - - - - - + + + + + Applies another AbstractConstraint to a specific generic keyed list element. + + + + + Creates a new instance. + + The key 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 + + + + + Constrains that all elements are in the parameter list - - - - Initializes a new instance of the class. + + + + Initializes a new instance of the class. - The these. - - - - determains if the object pass the constraints + The these. + + + + Determines 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. + + + + Creates a new instance. - C1. - C2. - - - - determains if the object pass the constraints + C1. + C2. + + + + Determines if the object pass the constraints - - - + + + Gets the message for this constraint - - - - - + + + + Negate a constraint - - - - Creates a new instance. + + + + Creates a new instance. - C1. - - - - determains if the object pass the constraints + C1. + + + + Determines if the object pass the constraints - - - + + + Gets the message for this constraint - - - - - + + + + Combines two constraints - - - - - - Creates a new instance. + + + + + Creates a new instance. - C1. - C2. - - - - determains if the object pass the constraints + C1. + C2. + + + + Determines 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. + + + + Creates a new instance. - Pattern. - - - - determains if the object pass the constraints + Pattern. + + + + Determines 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. + + + + Creates a new instance. - Inner string. - - - - determains if the object pass the constraints + Inner string. + + + + Determines 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. + + + + Creates a new instance. - End. - - - - determains if the object pass the constraints + End. + + + + Determines 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. + + + + Creates a new instance. - Start. - - - - determains if the object pass the constraints + Start. + + + + Determines if the object pass the constraints - - - + + + Gets the message for this constraint - - - - - + + + + Constraint that evaluate whatever an object equals another - - - - Creates a new instance. + + + + Creates a new instance. - Obj. - - - - determains if the object pass the constraints + Obj. + + + + Determines if the object pass the constraints - - - + + + Gets the message for this constraint - - - - - + + + + Constraint that always returns true - - - - determains if the object pass the constraints + + + + Determines 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. + + + + Creates a new instance. - - - - determains if the object pass the constraints + + + + Determines if the object pass the constraints - - - + + + Gets the message for this constraint - - - - - + + + + Initializes a new constraint object. - The expected object, The actual object is passed in as a parameter to the method - - - + The expected object, The actual object is passed in as a parameter to the method + + + Evaluate this constraint. - The actual object that was passed in the method call to the mock. - True when the constraint is met, else false. - - - - Checks if the properties of the object - are the same as the properies of the object. + The actual object that was passed in the method call to the mock. + True when the constraint is met, else false. + + + + Checks if the properties of the object + are the same as the properies of the object. - The expected object - The actual object - True when both objects have the same values, else False. - - - - - - - - - - - This is the real heart of the beast. - - - + The expected object + The actual object + True when both objects have the same values, else False. + + + + + + + + + This is the real heart of the beast. + + + Used by CheckReferenceType to check all properties of the reference type. - The expected object - The actual object - True when both objects have the same values, else False. - - - + The expected object + The actual object + True when both objects have the same values, else False. + + + Used by CheckReferenceType to check all fields of the reference type. - The expected object - The actual object - True when both objects have the same values, else False. - - - + The expected object + The actual object + True when both objects have the same values, else False. + + + Checks the items of both collections - The expected collection - - - True if both collections contain the same items in the same order. - - - + The expected collection + + True if both collections contain the same items in the same order. + + + Builds a propertyname from the Stack _properties like 'Order.Product.Price' to be used in the error message. - A nested property name. - - - + A nested property name. + + + Rhino.Mocks uses this property to generate an error message. - + A message telling the tester why the constraint failed. - - - - Central location for constraints for object's public fields + + + + Provides access to the constraintes defined in the class to be used in context + with the syntax. - - - - Constrains the parameter to have a public field with the specified value + The type of the argument + + + + Evaluate a greater than constraint for . - Name of the public field. - Expected value. - - - - - - Constrains the parameter to have a public field with the specified value. + The object the parameter should be greater than + + + + Evaluate a less than constraint for . - 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. + The object the parameter should be less than + + + + Evaluate a less than or equal constraint for . - Name of the public field. - Constraint for the public field. - - - - Constrains the parameter to have a public field satisfying a specified constraint. + The object the parameter should be less than or equal to + + + + Evaluate a greater than or equal constraint for . - 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. + The object the parameter should be greater than or equal to + + + + Evaluate an equal constraint for . - Name of the public field. - - - - - - Determines whether the parameter has the specified public field and that it is null. + The object the parameter should equal to + + + + Converts the object type to a better match if this is a primitive type. - 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. + The obj. + + + + + Converts the object type to match. - Name of the public field. - - - - - - Determines whether the parameter has the specified public field and that it is not null. + + Because of implicit conversions and the way ArgConstraints this method is needed to check + object type and potentially change the object type for a better "match" so that obj1.Equals(obj2) + will return the proper "answer" + + The obj. + + + + + Evaluate a not equal constraint for . - 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 - - - + The object the parameter should not equal to + + + Evaluate a same as constraint. - The object the parameter should the same as. - - - + The object the parameter should the same as. + + + Evaluate a not same as constraint. - The object the parameter should not be the same as. - - - + The object the parameter should not be the same as. + + + + Throws NotSupportedException. Don't use Equals to define constraints. Use Equal instead. + + + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + 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. + The check is performed on the type that has been defined + as the argument type. - - - - A constraint that accept only value of the specified type + + + + Provides access to the constraints defined in the class to be used in context + with the syntax. - - - - 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. + + + + Determines whether the specified object is in the parameter. The parameter must be IEnumerable. - Obj. - - - - - - Determains whatever the parameter is in the collection. + Obj. + + + + + Determines whatever the parameter is in the collection. - - - - Determains that the parameter collection is identical to the specified collection + + + + Determines 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. - - - + 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. - - - + The zero-based index of the list element. + The constraint which should be applied to the list element. + + + Determines that all elements of the specified collection are in the the parameter collection - The collection to compare against - The constraint which should be applied to the list parameter. - - - + The collection to compare against + The constraint which should be applied to the list parameter. + + + + Throws NotSupportedException. Don't use Equals to define constraints. Use Equal instead. + + + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Provides a dummy field to pass as out or ref argument. + + + + + + Dummy field to satisfy the compiler. Used for out and ref arguments. + + + + + 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 parameter. + The parameter must be IEnumerable. + + Obj. + + + + + Determines whatever the parameter is in the collection. + + + + + Determines 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. + + + + Determines that an element of the parameter collections conforms to another AbstractConstraint. + + The key of the element. + The constraint which should be applied to the element. + + + + Determines that all elements of the specified collection are in the the parameter collection + + The collection to compare against + The constraint which should be applied to the list parameter. + + + Central location for constraints for object's properties - - - + + + Constrains the parameter to have property with the specified value - Name of the property. - Expected 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. - - - - - + 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. - - - + 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. - - - + 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. - - - - - + 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. - - - - - + 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. - - - - - + 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. - - - - - + The type that declares the property, used to disambiguate between properties. + Name of the property. + + + + constraints the parameter to have the exact same property values as the expected object. - An object, of the same type as the parameter, whose properties are set with the expected values. - An instance of the constraint that will do the actual check. - + An object, of the same type as the parameter, whose properties are set with the expected values. + An instance of the constraint that will do the actual check. + The parameter's public property values and public field values will be matched against the expected object's public property values and public field values. The first mismatch will be reported and no further matching is done. The matching is recursive for any property or field that has properties or fields of it's own. @@ -995,660 +1300,1034 @@ collection contain the same values in the same order, where the values contained by the collection can have properties and fields of their own that will be checked as well because of the recursive nature of this constraint. - - - + + + 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 - - - + + + + Provides access to the constraintes defined in the class to be used in context + with the syntax. + + + + + 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 + + + + + Throws NotSupportedException. Don't use Equals to define constraints. Use Equal instead. + + + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + This class defines a lot of method signatures, which we will use + to allow compatability on net-2.0 + + + + + dummy + + + + + dummy + + + + + dummy + + + + + dummy + + + + + dummy + + + + + dummy + + + + + dummy + + + + + dummy + + + + + dummy + + + + + dummy + + + + + dummy + + + + + dummy + + + dummy + + + + + dummy + + + + + dummy + + + + + dummy + + + + + dummy + + + + + dummy + + + + + dummy + + + + + dummy + + + + + dummy + + + + + dummy + + + + Allows expectations to be set on methods that should never be called. For methods with void return value, you need to use LastCall or DoNotExpect.Call() with a delegate. - - - - A delegate that executes an action - - - - + + + Sets LastCall.Repeat.Never() on /any/ proxy on /any/ repository on the current thread. This method if not safe for multi threading scenarios. - - - + + + Accepts a delegate that will execute inside the method which LastCall.Repeat.Never() will be applied to. 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; DoNotExpect.Call(delegate{ mockSrv.Stop(); }); ... - - - + + + An expectaton violation was detected. - - - - Creates a new instance. + + + + Creates a new instance. - Message. - - - + Message. + + + Serialization constructor - - - - Signals that an object was call on a mock repostiroy which doesn't + + + + Signals that an object was call on a mock repository which doesn't belong to this mock repository or not a mock - - - - Creates a new instance. + + + + Creates a new instance. - Message. - - - + 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 . + 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. + 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. - - - + + + + A delegate that can be used to get better syntax on Expect.Call(delegate { foo.DoSomething(); }); + + + + + 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 - - - + 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. - - - + + + + Builds the verification failure message. + + + + + 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. + The invocation. + + + + Occurs when the exceptation is match on a method call - - - + + + + Allow to set the return value in the future, if it was already set. + + + + 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 + + + + Add an actual actualMethodCall call to this expectation - - - + + + + Builds the verification failure message. + + + + + 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 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. + The originalInvocation for this method, required because it contains the generic type infromation + Number of method calls for this expectations + + + + Creates a new instance. - Expectation. - - - + Expectation. + + + Validate the arguments for the method on the child methods - The arguments with which the method was called - - - + 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 + + + + Specify whether 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. - - - + 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 - - - + + + + Occurs when the exceptation is match on a method call + + + + + Allow to set the return value in the future, if it was already set. + + + + Gets the error message. - - - - - - Expectation that matchs any arguments for the method. + + + + + Expectation that matches any arguments for the method. - - - - Creates a new instance. + + + + Creates a new instance. - Invocation for this expectation - - - - Creates a new instance. + Invocation for this expectation + Number of method calls for this expectations + + + + Creates a new instance. - Expectation. - - - + Expectation. + + + Validate the arguments for the method. - The arguments with which the method was called - - - + 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. + + + + Creates a new instance. - Expected args. - The invocation for this expectation - - - + Expected args. + The invocation for this expectation + Number of method calls for this expectations + + + Validate the arguments for the method. - The arguments with which the method was called - - - + 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. + + + + Creates a new instance. - Expectation. - Callback. - - - - Creates a new instance. + Expectation. + Callback. + + + + Creates a new instance. - Invocation for this expectation - Callback. - - - + Invocation for this expectation + Callback. + Number of method calls for this expectations + + + Validate the arguments for the method on the child methods - The arguments with which the method was called - - - + 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. + + + + Creates a new instance. - Invocation for this expectation - Constraints. - - - - Creates a new instance. + Invocation for this expectation + Constraints. + Number of method calls for this expectations + + + + Creates a new instance. - Expectation. - Constraints. - - - + Expectation. + Constraints. + + + Validate the arguments for the method. - The arguments with which the method was called - - - + 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. - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Summary for AndSpecification + + + + + + + + + + + + + + + + + + + + + + Summary description for FollowsEventNamingStandard + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Summary descritpion for NamedEventExistsOnDeclaringType + + + + + + + + Doesn't log anything, just makes happy noises - - - + + + + Log expectations - allows to see what is going on inside Rhino Mocks + + + + Logs the expectation as is was recorded - The invocation. - The expectation. - - - + The invocation. + The expectation. + + + Logs the expectation as it was recorded - The invocation. - The expectation. - - - + The invocation. + The expectation. + + + Logs the unexpected method call. - The invocation. - The message. - - - + The invocation. + The message. + + + + 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. + + + 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 @@ -1661,426 +2340,485 @@ 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. + 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. + 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 + 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. + + + + Initializes a new instance of the class. - The writer. - - - - Logs the expectation as is was recorded - - The invocation. - The expectation. - - - + The writer. + + + Logs the expectation as it was recorded - The invocation. - The expectation. - - - + 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 - - - - + The invocation. + The message. + + + 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. + + + + Records all the expectations for a mock - The proxy that generates the method calls - Repository. - - - - We don't care much about expectations here, so we will remove the exepctation if + + + + 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. + + + + + This method is called to indicate that a property behavior call. + This is done so we generate good error message in the common case of people using + Stubbed properties with Return(). + + + + + Gets the matching verify state for this state + + + + + Get the options for the last method call + + + + + 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. + + + + + This method is called to indicate that a property behavior call. + This is done so we generate good error message in the common case of people using + Stubbed properties with Return(). + + + + + 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) + + + + + Get the default call count range expectation + + + + + + 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 + + + + + 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 expectation if it is not closed. - - - + + + Verify that we can move to replay state and move to the reply state. - - - - - + + + + + Get the default call count range expectation + + + + + + Validate expectations on recorded methods, but in general completely ignoring them. + Similar to except that it would return a + when BackToRecord is called. + + + + 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. + + + + Creates a new instance. - The previous state for this method - - - + 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 - - - + 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 - - - + 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. - - - + + + + not relevant + + + + 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. - - - - Initializes a new instance of the class. - - The previous state for this method - - - + 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. + The invocation for this method + The method that was called + The arguments this method was called with + + + + Gets a mock state that matches the original mock state of the object. - - - + + + Write rhino mocks log info to the trace - - - - Initializes a new instance of the class. + + + + Initializes a new instance of the class. - - - - Initializes a new instance of the class. + + + + Initializes a new instance of the class. - if set to true [log recorded]. - if set to true [log replayed]. - if set to true [log unexpected]. - - - + if set to true [log recorded]. + if set to true [log replayed]. + if set to true [log unexpected]. + + + Logs the expectation as is was recorded - The invocation. - The expectation. - - - + The invocation. + The expectation. + + + Logs the expectation as it was recorded - The invocation. - The expectation. - - - + The invocation. + The expectation. + + + Logs the unexpected method call. - The invocation. - The message. - - - + The invocation. + The message. + + + Writes log information as stack traces about rhino mocks activity - - - + + + Allows to redirect output to a different location. - - - + + + Logs the expectation as is was recorded - The invocation. - The expectation. - - - + The invocation. + The expectation. + + + Logs the expectation as it was recorded - The invocation. - The expectation. - - - + The invocation. + The expectation. + + + Logs the unexpected method call. - The invocation. - The message. - - - + The invocation. + The message. + + + 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 - - - + + + + This is a data structure that is used by + to pass + the current method to the relevant delegate + + + + + Initializes a new instance of the class. + + The invocation. + + + + Gets the args for this method invocation + + + + + Get the method that was caused this invocation + + + + + Gets or sets the return value for this method invocation + + The return value. + + + Adds optional new usage: using(mockRepository.Record()) { Expect.Call(mock.Method()).Return(retVal); @@ -2091,1999 +2829,2703 @@ 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. + + + Generates a stub without needing a + Arguments for 's constructor + The of stub to create. + The stub + + + + Generates a stub without needing a + The of stub. + Arguments for the 's constructor. + The stub + + + + Generate a mock object without needing a + type of mock object to create. + Arguments for 's constructor + the mock object + + + + Generate a multi-mock object without needing a + The typeof object to generate a mock for. + A second interface to generate a multi-mock for. + Arguments for 's constructor + the multi-mock object + + + + Generate a multi-mock object without without needing a + The typeof object to generate a mock for. + An interface to generate a multi-mock for. + A second interface to generate a multi-mock for. + Arguments for 's constructor + the multi-mock object + + + + Creates a multi-mock without without needing a + The type of mock to create, this can be a class + Any extra interfaces to add to the multi-mock, these can only be interfaces. + Arguments for 's constructor + the multi-mock object + + + + Creates a strict mock without without needing a + Any arguments required for the 's constructor + The type of mock object to create. + The mock object with strict replay semantics + + + + Creates a strict multi-mock without needing a + Any arguments required for the 's constructor + The type of mock object to create, this can be a class. + An interface to generate a multi-mock for, this must be an interface! + The multi-mock object with strict replay semantics + + + + Creates a strict multi-mock without needing a + Any arguments required for the 's constructor + The type of mock object to create, this can be a class. + An interface to generate a multi-mock for, this must be an interface! + A second interface to generate a multi-mock for, this must be an interface! + The multi-mock object with strict replay semantics + + + + Creates a strict multi-mock without needing a + The type of mock object to create, this can be a class + Any extra interfaces to generate a multi-mock for, these must be interaces! + Any arguments for the 's constructor + The strict multi-mock object + + + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Generate a mock object with dynamic replay semantics and remoting without needing the mock repository + + + + + Generate a mock object with strict replay semantics and remoting without needing the mock repository + + + + Helper method to create a mock object without a repository instance and put the object back into replay mode. + The type of mock object to create + A delegate that uses a mock repository instance to create the underlying mock + The mock object in the replay mode. + + + + + + + + + + + + + + This is a map of types to ProxyGenerators. + + + + 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. + + + + 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 - - - + Type. + Arguments for the class' constructor, if mocking a concrete class + + + + Creates a strict mock for the specified type. + + Type. + Arguments for the class' constructor, if mocking a concrete class + + + Creates a remoting mock for the specified type. - Type. - Arguments for the class' constructor, if mocking a concrete class - - - + Type. + Arguments for the class' constructor, if mocking a concrete class + + + + Creates a strict remoting mock for the specified type. + + Type. + Arguments for the class' constructor, if mocking a concrete class + + + Creates a remoting mock for the specified type. - - - Arguments for the class' constructor, if mocking a concrete class - - - - - + + Arguments for the class' constructor, if mocking a concrete class + + + + + Creates a strict remoting mock for the specified 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. + Only may be a class. - - - + + + + Creates a strict 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. + 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. - - - + The main type to mock. + Extra interface types to mock. + Arguments for the class' constructor, if mocking a concrete class. + + + + Creates a strict 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. + Only may be a class. - The main type to mock. - Extra interface types to mock. - - - + The main type to mock. + Extra interface types to mock. + + + Creates a mock from several types, with dynamic semantics. - Only may be a class. + 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 dynamic mock for the specified type. - - 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 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 - - - + 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 dynamic mock for the specified type. + 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 that defaults to calling the class methods if no expectation is set on the method. + 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! + This method *cannot* be called from inside an ordering. + the object to move to replay state + + + + 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.You can (and it's recommended) to run {Verify()} before you use this method. + Will delete all current expectations! + + + Move the mocked object back to record state. - Will delete all current expectations, but allows more granularity about how + Optionally, can 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 - - - + 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 - - - + 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 - - - - - + 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. - - - + + + 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. + + + + Gets the proxy generator for a specific type. Having a single ProxyGenerator + with multiple types linearly degrades the performance so this implementation + keeps one ProxyGenerator per type. - - - - Creates a mock for the spesified type. + + + Set the exception to be thrown when verified is called. + + + + Creates a mock for the spesified type with strict mocking semantics. + Strict semantics means that any call that wasn't explicitly recorded is considered an error and would cause an exception to be thrown. - Arguments for the class' constructor, if mocking a concrete class - - - + Arguments for the class' constructor, if mocking a concrete class + + + + Creates a mock for the spesified type with strict mocking semantics. + Strict semantics means that any call that wasn't explicitly recorded is considered an error and would cause an exception to be thrown. + + 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 - - - + Arguments for the class' constructor, if mocking a concrete class + + + Creates a mock object from several types. - - - + + + + Creates a strict 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 - - - + Extra interface types to mock. + Arguments for the class' constructor, if mocking a concrete class + + + + Create a strict 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 - - - + 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 - - - + 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 - - - + 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. - - - + 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 type. + The arguments for constructor. + The stub + + + + Returns true if the passed mock is currently in replay mode. - The arguments for constructor. - - - - - - Generates the stub without mock repository + The mock to test. + True if the mock is in replay mode, false otherwise. + + + + Determines whether the specified proxy is a stub. - The type. - The arguments for constructor. - - - + The proxy. + + + + Register a call on a prperty behavior + + + + + 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. + + + + + A set of extension methods that adds Arrange Act Assert mode to Rhino Mocks + + + + + Create an expectation on this mock for this action to occur + + + The mock. + The action. + + + + + Reset all expectations on this mock object + + + The mock. + + + + Reset the selected expectation on this mock object + + + The mock. + The options to reset the expectations on this mock. + + + + Cause the mock state to change to replay, any further call is compared to the + ones that were called in the record state. + + the mocked object to move to replay state + + + + Gets the mock repository for this specificied mock object + + + The mock. + + + + + Create an expectation on this mock for this action to occur + + + + The mock. + The action. + + + + + Tell the mock object to perform a certain action when a matching + method is called. + Does not create an expectation for this method. + + + The mock. + The action. + + + + + Tell the mock object to perform a certain action when a matching + method is called. + Does not create an expectation for this method. + + + + The mock. + The action. + + + + + Gets the arguments for calls made on this mock object and the method that was called + in the action. + + + The mock. + The action. + + + Here we will get all the arguments for all the calls made to DoSomething(int) + + var argsForCalls = foo54.GetArgumentsForCallsMadeOn(x => x.DoSomething(0)) + + + + + + Gets the arguments for calls made on this mock object and the method that was called + in the action and matches the given constraints + + + The mock. + The action. + The setup constraints. + + + Here we will get all the arguments for all the calls made to DoSomething(int) + + var argsForCalls = foo54.GetArgumentsForCallsMadeOn(x => x.DoSomething(0)) + + + + + + Asserts that a particular method was called on this mock object + + + The mock. + The action. + + + + Asserts that a particular method was called on this mock object that match + a particular constraint set. + + + The mock. + The action. + The setup constraints. + + + + Asserts that a particular method was called on this mock object that match + a particular constraint set. + + + The mock. + The action. + + + + Asserts that a particular method was called on this mock object that match + a particular constraint set. + + + The mock. + The action. + The setup constraints. + + + + Asserts that a particular method was NOT called on this mock object + + + The mock. + The action. + + + + Asserts that a particular method was NOT called on this mock object that match + a particular constraint set. + + + The mock. + The action. + The setup constraints. + + + + Asserts that a particular method was NOT called on this mock object + + + The mock. + The action. + + + + Asserts that a particular method was NOT called on this mock object + + + The mock. + The action. + The setup constraints. + + + + Finds the approprite implementation type of this item. + This is the class or an interface outside of the rhino mocks. + + The mocked obj. + + + + + Verifies all expectations on this mock object + + The mock object. + + + + Gets the event raiser for the event that was called in the action passed + + The type of the event source. + The mock object. + The event subscription. + + + + + Raise the specified event using the passed arguments. + The even is extracted from the passed labmda + + The type of the event source. + The mock object. + The event subscription. + The sender. + The instance containing the event data. + + + + Raise the specified event using the passed arguments. + The even is extracted from the passed labmda + + The type of the event source. + The mock object. + The event subscription. + The args. + + + TODO: Make this better! It currently breaks down when mocking classes or + ABC's that call other virtual methods which are getting intercepted too. I wish + we could just walk Expression{Action{Action{T}} to assert only a single + method is being made. + + The workaround is to not call foo.AssertWasCalled .. rather foo.VerifyAllExpectations() + The type of mock object + The mock repository + The actual mock object to assert expectations on. + + + + Fake type that disallow creating it. + Should have been System.Type, but we can't use it. + + + + 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. - - - - - + 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. + + + + Create a new instance of ProxyStateDictionary - - - + + + + Allows to call a method and immediately get it's options. + + + + + Interface to allow calling a method and immediately 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. + The method call should go here, the return value is ignored + + + + Creates a new instance. - - - - 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. + The method call should go here, the return value is ignored + + + + Allows to call a method and immediately get it's options. Set the expected number for the call to Any() - - - - Creates a new instance. + + + + Creates a new instance. - Proxy. - Mocked instance. - - - + Proxy. + Mocked instance. + + + Get the method options for the call - The method call should go here, the return value is ignored - - - + 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. + + + + The scope for all the delegate interfaces create by this mock repository. - - - + + + 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 - - - + + + The most common form for the event handler signature - - - - Raise events for all subscribers for an event + + + + Create an event raiser for the specified event on this instance. - - - - Create an event raise for the specified event on this instance. + + + + Creates a new instance of EventRaiser - - - - 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. - - - + + + + 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 - - - + The object the method will return + IRepeat that defines how many times the method will return this value + + + + Allow to override this return value in the future + + IRepeat that defines how many times the method will return this value + + + Throws the specified exception when the method is called. - Exception to throw - - - + 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. - - - + + + + Set a delegate to be called when the expectation is matched. + The delegate return value will be returned from the expectation. + + + + + Set a delegate to be called when the expectation is matched. + The delegate return value will be returned from the expectation. + + + + + Set a delegate to be called when the expectation is matched. + The delegate return value will be returned from the expectation. + + + + + Set a delegate to be called when the expectation is matched. + The delegate return value will be returned from the expectation. + + + + + Set a delegate to be called when the expectation is matched. + The delegate return value will be returned from the expectation. + + + + + Set a delegate to be called when the expectation is matched. + The delegate return value will be returned from the expectation. + + + + + Set a delegate to be called when the expectation is matched. + The delegate return value will be returned from the expectation. + + + + + Set a delegate to be called when the expectation is matched. + The delegate return value will be returned from the expectation. + + + + + Set a delegate to be called when the expectation is matched. + The delegate return value will be returned from the expectation. + + + + + Set a delegate to be called when the expectation is matched. + The delegate return value will be returned from the expectation. + + + + + Set a delegate to be called when the expectation is matched. + The delegate return value will be returned from the expectation. + + + + + Set a delegate to be called when the expectation is matched + and allow to optionally modify the invocation as needed + + + + 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. - - - + + + + Expect last (property) call as property setting, ignore the argument given + + + + + + Expect last (property) call as property setting with a given argument. + + + + + + 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 - - - + 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. - - - + 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. - - - - Creates a new instance. - - the repository for this expectation - the recorder for this proxy - the proxy for this expectation - Expectation. - - - + 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 callback method for the last call + + + + + Set a callback method for the last call + + + + + Set a callback method for the last call + + + + + Set a callback method for the last call + + + + + Set a callback method for the last call + + + + + Set a callback method for the last call + + + + + Set a callback method for the last call + + + + + Set a callback method for the last call + + + + + Set a callback method for the last call + + + + + Set a callback method for the last call + + + + + 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 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 - - - + The object the method will return + IRepeat that defines how many times the method will return this value + + + + Set the return value for the method, but allow to override this return value in the future + + IRepeat that defines how many times the method will return this value + + + Throws the specified exception when the method is called. - Exception to throw - - - + 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. - - - + + + + Expect last (property) call as property setting, ignore the argument given + + + + + + Expect last (property) call as property setting with a given argument. + + + + + + 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 - - - + Message + + + Repeat the method any number of times. - - - + + + Set the range to repeat an action. - Min. - Max. - - - + 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 + + + + The sole 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 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 - - - + + + + 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 - - - + 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. - - - + + + + Get all the method calls arguments that were made against this object with the specificed + method. + + + Only method calls in replay mode are counted + + + + + Records the method call + + + + + Mocks that are tied to this mock lifestyle + + + + + 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. + + + + Gets or sets the constructor arguments. + + The constructor arguments. + + + + The mocked instance that this is representing + + + + + 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 + Return true if there is already a value for the 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. + + + + + Get all the method calls arguments that were made against this object with the specificed + method. + + + + + Only method calls in replay mode are counted + + + + + Records the method call + + + + + + + Clears the state of the object, remove original calls, property behavior, subscribed events, etc. + + + + + Mocks that are tied to this mock lifestyle + + + + 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 or sets the constructor arguments. + + The constructor arguments. + + + + The mocked instance that this is representing + + + + Gets the implemented types by this mocked object - The implemented. - - - + The implemented. + + + Range for expected method calls - - - - Creates a new instance. + + + + Creates a new instance. - Min. - Max. - - - + 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. + + + + Creates a new instance. - Repository. - The proxy that generates the method calls - - - + Repository. + The proxy that generates the method calls + + + Verify that we can move to replay state and move to the reply state. - - - + + + + Get the default call count range expectation + + + + + 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. + + + + Creates a new instance. - Repository. - The proxy that generates the method calls - - - + 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. + + + + Gets a mock state that matches 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. + + + + Creates a new instance. - The previous state for this method - - - + 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 - - - + 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. + + + + Creates a new instance. - The previous state for this method - - - + 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 - - - + 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. + + + + 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 - + 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. - - - - Validate that the two argument are equals, including validation for + Expected args. + Actual Args. + + + + Validate that the two arguments are equals, including validation for when the arguments are collections, in which case it will validate their values. - - - + + + 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 - - - + 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 - - - + 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. - - - + + + + not relevant + + + + 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 - - - + Mocked object. + Method. + List of all relevant expectation + + + Gets the all expectations for proxy. - Mocked object. - List of all relevant expectation - - - + Mocked object. + List of all relevant expectation + + + Removes all the repeatable expectations for proxy. - Mocked object. - - - + 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. - - - + Proxy. + Method. + Old expectation. + New expectation. + + + Adds the recorder and turn it into the active recorder. - 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. + + true if this instance has expectations; otherwise, false. - - - + + + 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 - - - + 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 - - - + The object the method will return + IRepeat that defines how many times the method will return this value + + + Set the return value for the method. This overload is needed for LastCall.Return(null) - The object the method will return - IRepeat that defines how many times the method will return this value - - - + 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 - - - + 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 callback method for the last call + + + + + Set a callback method for the last call + + + + + Set a callback method for the last call + + + + + Set a callback method for the last call + + + + + Set a callback method for the last call + + + + + Set a callback method for the last call + + + + + Set a callback method for the last call + + + + + Set a callback method for the last call + + + + + Set a callback method for the last call + + + + + Set a callback method for the last call + + + + + Set a callback method for the last call + + + + Call the original method on the class, bypassing the mocking layers, for the last call. - - - + + + Call the original method on the class, optionally 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 - - - + Message + + + Use the property as a simple property, getting/setting the values without causing mock expectations. - - - + + + Better syntax to define repeats. - - - + + + 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. - - - - Creates a new instance. + + + + Creates a new instance. - Parent recorder. - Repeatable methods - - - + Parent recorder. + Repeatable methods + + + 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 - - - + Mocked object. + Method. + List of all relevant expectation + + + Gets the all expectations for proxy. - Mocked object. - List of all relevant expectation - - - + 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. - - - + Proxy. + Method. + Old expectation. + New expectation. + + + Remove the all repeatable expectations for proxy. - Mocked object. - - - + 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. - - - + 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. + + 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. + + + + Creates a new instance. - Parent recorder. - Repeatable methods - - - - Creates a new instance. + Parent recorder. + Repeatable methods + + + + Creates a new instance. - - - + + + Records the specified call with the specified args on the mocked object. - Mocked object. - Method. - Expectation. - - - + Mocked object. + Method. + Expectation. + + + Get the expectation for this method on this object with this arguments - Invocation for this method - Mocked object. - Method. - Args. - True is the call was recorded, false otherwise - - - + Invocation for this method + 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 - - - + Mocked object. + Method. + List of all relevant expectation + + + Gets the all expectations for proxy. - Mocked object. - List of all relevant expectation - - - + 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. - - - + 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. + + true if this instance has expectations; otherwise, false. - - - - Ordered collection of methods, methods must arrive in specified order - in order to pass. + + + + Creates a new instance. - - - - Creates a new instance. + Parent recorder. + Repetable methods + + + + Creates a new instance. - Parent recorder. - Repetable methods - - - - 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. + + + + Creates a new instance. - Proxy. - Method. - Expectation. - - - - Determains if the object equal to this instance + Proxy. + Method. + Expectation. + + + + Determines if the object equal to this instance - Obj. - - - - - + Obj. + + + + Gets the hash code. - - - - - + + + + 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. + + + + Creates a new instance. - Proxy. - Method. - - - - Determains whatever obj equals to this instance. - ProxyMethodPairs are equals when they point to the same /instance/ of + Proxy. + Method. + + + + Determines whatever obj equals to this instance. + ProxyMethodPairs are equal when they point to the same /instance/ of an object, and to the same method. - Obj. - - - - - + Obj. + + + + Gets the hash code. - - - - - + + + + Gets the proxy. - - - - - + + + + Gets the method. - - - - - + + + + Change the recorder from ordered to unordered and vice versa - - - - Creates a new instance. + + + + Creates a new instance. - - - + + + Disposes this instance. - - - + + + Accessor for the current mocker - - - + + + The current mocker - - - + + + Used for [assembly: InternalsVisibleTo(RhinoMocks.StrongName)] Used for [assembly: InternalsVisibleTo(RhinoMocks.NormalName)] - - - + + + Strong name for the Dynamic Proxy assemblies. Used for InternalsVisibleTo specification. - - - + + + Normal name for dynamic proxy assemblies. Used for InternalsVisibleTo specification. - - - + + + Logs all method calls for methods - - - + + + 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 - - - + + + Utility class for working with method calls. - - - + + + + Return the string representation of a method call and its arguments. + + The method + The method arguments + Invocation of the method, used to get the generics 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 invocation of the method, used to get the generic parameters + 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. - - - - Return the string representation of a method call and its arguments. - - The method - The method arguments - Invocation of the method, used to get the generics 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 invocation of the method, used to get the generic parameters - The method - The method arguments - The string representation of this 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. @@ -4091,4037 +5533,92 @@ Note that we need to get the value even for opened generic types, such as those from generic methods. - Type. - The invocation. - the default value - - - + Type. + The invocation. + the default value + + + Allows easier access to MockRepository, works closely with Mocker.Current to allow access to a context where the mock repository is automatially verified at the end of the code block. - - - + + + + Initialize a code block where Mocker.Current is initialized. + At the end of the code block, all the expectation will be verified. + This overload will create a new MockRepository. + + The code that will be executed under the mock context + + + + Initialize a code block where Mocker.Current is initialized. + At the end of the code block, all the expectation will be verified. + This overload will create a new MockRepository. + + The mock repository to use, at the end of the code block, VerifyAll() will be called on the repository. + The code that will be executed under the mock context + + + + Create a FluentMocker + + The mock repository to use. + + + A method with no arguments and no return value that will be called under the mock context. - - - - Interface to verify previously defined expectations - - - - - Verifies if a piece of code - - - - + + + FluentMocker implements some kind of fluent interface attempt for saying "With the Mocks [mocks], Expecting (in same order) [things] verify [that]." - - - + + + + Interface to verify previously defined expectations + + + + + Verifies if a piece of code + + + + Defines unordered expectations - A delegate describing the expectations - an IMockVerifier - - - + A delegate describing the expectations + an IMockVerifier + + + Defines ordered expectations - A delegate describing the expectations - an IMockVerifier - - - + A delegate describing the expectations + an IMockVerifier + + + Verifies previously defined expectations - - - - Initialize a code block where Mocker.Current is initialized. - At the end of the code block, all the expectation will be verified. - This overload will create a new MockRepository. - - The code that will be executed under the mock context - - - - Initialize a code block where Mocker.Current is initialized. - At the end of the code block, all the expectation will be verified. - This overload will create a new MockRepository. - - The mock repository to use, at the end of the code block, VerifyAll() will be called on the repository. - The code that will be executed under the mock context - - - - Create a FluentMocker - - The mock repository to use. - - - - Wraps a reference that is passed - ByRef and provides indirect load/store support. - - - - - Summary description for NewArrayExpression. - - - - - - - - - Here we try to match a constructor argument to its value. - Since we can't get the values from the assembly, we use some heuristics to get it. - a/ we first try to match all the properties on the attributes by name (case insensitive) to the argument - b/ if we fail we try to match them by property type, with some smarts about convertions (i,e: can use Guid for string). - - - - - We have the following rules here. - Try to find a matching type, failing that, if the parameter is string, get the first property (under the assumption that - we can convert it. - - - - - Attributes can only accept simple types, so we return null for null, - if the value is passed as string we call to string (should help with converting), - otherwise, we use the value as is (enums, integer, etc). - - - - - Provides appropriate Ldc.X opcode for the type of primitive value to be loaded. - - - - - Provides appropriate Ldind.X opcode for - the type of primitive value to be loaded indirectly. - - - - - Inspect the base method for generic definitions - and set the return type and the parameters - accordingly - - - - - Emits a load opcode of the appropriate kind for a constant string or - primitive value. - - - - - - - - - Emits a load opcode of the appropriate kind for the constant default value of a - type, such as 0 for value types and null for reference types. - - - - - Emits a load indirect opcode of the appropriate type for a value or object reference. - Pops a pointer off the evaluation stack, dereferences it and loads - a value of the specified type. - - - - - - - - - Emits a store indirectopcode of the appropriate type for a value or object reference. - Pops a value of the specified type and a pointer off the evaluation stack, and - stores the value. - - - - - - - - - Summary description for PropertiesCollection. - - - - - Provides appropriate Stind.X opcode - for the type of primitive value to be stored indirectly. - - - - - Base class that exposes the common functionalities - to proxy generation. - - - TODO: - - Use the interceptor selector if provided - - Add tests and fixes for 'leaking this' problem - - Mixin support - - - - - Used by dinamically implement - - - - - - Generates a parameters constructor that initializes the proxy - state with just to make it non-null. - - This constructor is important to allow proxies to be XML serializable - - - - - If callbackMethod is null the InvokeOnTarget implementation - is just the code to throw an exception - - - - - - - - - - - - - - - - - - - If callbackMethod is null the InvokeOnTarget implementation - is just the code to throw an exception - - - - - - - - - - - - - - If true the invocation will implement the IChangeProxyTarget interface - - - - - - Generates the constructor for the nested class that extends - - - - - - - - - - - - - Improvement: this cache should be static. We should generate a - type constructor instead - - - - - Performs some basic screening and invokes the - to select methods. - - - - - - - - - - - Checks if the method is public or protected. - - - - - - - - - Attributes should be replicated if they are non-inheritable, - but there are some special cases where the attributes means - something to the CLR, where they should be skipped. - - - - - Checks if the method has the same signature as a method that was marked as - one that should generate a new vtable slot. - - - - - Initializes a new instance of the class. - - Type of the target. - The interfaces. - The options. - - - - - - - - Initializes a new instance of the class. - - The emitter. - The add method. - The remove method. - The attributes. - - - - - - - - Finds the type of the method on target. - - The method on interface. - Type of the proxy target. - - - - - - Checks whether the given types are the same. This is - more complicated than it looks. - - - - - - - - - - - This is used by the ProxyObjectReference class durin de-serialiation, to know - which generator it should use - - - - - Returns the methods implemented by a type. Use this instead of Type.GetMethods() to work around a CLR issue - where duplicate MethodInfos are returned by Type.GetMethods() after a token of a generic type's method was loaded. - - - - - Handles the deserialization of proxies. - - - - - Resets the used for deserialization to a new scope. - - This is useful for test cases. - - - - Resets the used for deserialization to a given . - - The scope to be used for deserialization. - By default, the deserialization process uses a different scope than the rest of the application, which can lead to multiple proxies - being generated for the same type. By explicitly setting the deserialization scope to the application's scope, this can be avoided. - - - - Gets the used for deserialization. - - As has no way of automatically determining the scope used by the application (and the application - might use more than one scope at the same time), uses a dedicated scope instance for deserializing proxy - types. This instance can be reset and set to a specific value via and . - - - - Used during the target type inspection process. - Implementors have a chance to interfere in the - proxy generation process - - - - - Invoked by the generation process to know if - the specified member should be proxied - - - - - - - - - - - Invoked by the generation process to notify that a - member wasn't marked as virtual. - - - - - - - - - Invoked by the generation process to notify - that the whole process is completed. - - - - - Abstracts the implementation of proxy constructions - - - - - Implementors should return a proxy for the specified type. - - The proxy base class. - The proxy generation options. - The generated proxy type. - - - - Implementors should return a proxy for the specified - type and interfaces. The interfaces must be only "mark" interfaces - - - - - - - - - - - - - Implementors should return a proxy for the specified - interface that 'proceeds' executions to the - specified target. - - - - - - - - - - - - - - - Implementors should return a proxy for the specified - interface that delegate all executions to the - specified interceptor(s). - - - - - - - - - - - - - Implementors should return a proxy for the specified - interface that delegate all executions to the - specified interceptor(s) and uses an instance of the interface - as their targets, rather than a class. All IInvocation's - should then implement IChangeProxyTarget. - - - - - - - - - - - Gets the module scope used by this builder for generating code. - - The module scope used by this builder. - - - - Determines whether this assembly has internals visisble to dynamic proxy. - - The asm. - - - - Determines whether the specified method is internal. - - The method. - - true if the specified method is internal; otherwise, false. - - - - - Summary description for ModuleScope. - - - - - The default file name used when the assembly is saved using . - - - - - The default assembly (simple) name used for the assemblies generated by a instance. - - - - - Initializes a new instance of the class; assemblies created by this instance will not be saved. - - - - - Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance - should be saved. - - If set to true saves the generated module. - - - - Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance - should be saved and what simple names are to be assigned to them. - - If set to true saves the generated module. - The simple name of the strong-named assembly generated by this . - The path and file name of the manifest module of the strong-named assembly generated by this . - The simple name of the weak-named assembly generated by this . - The path and file name of the manifest module of the weak-named assembly generated by this . - - - - Returns a type from this scope's type cache, or null if the key cannot be found. - - The key to be looked up in the cache. - The type from this scope's type cache matching the key, or null if the key cannot be found - - - - Registers a type in this scope's type cache. - - The key to be associated with the type. - The type to be stored in the cache. - - - - Gets the key pair used to sign the strong-named assembly generated by this . - - - - - - - Gets the specified module generated by this scope, creating a new one if none has yet been generated. - - If set to true, a strong-named module is returned; otherwise, a weak-named module is returned. - A strong-named or weak-named module generated by this scope, as specified by the parameter. - - - - Gets the strong-named module generated by this scope, creating a new one if none has yet been generated. - - A strong-named module generated by this scope. - - - - Gets the weak-named module generated by this scope, creating a new one if none has yet been generated. - - A weak-named module generated by this scope. - - - - Saves the generated assembly with the name and directory information given when this instance was created (or with - the and current directory if none was given). - - - - This method stores the generated assembly in the directory passed as part of the module information specified when this instance was - constructed (if any, else the current directory is used). If both a strong-named and a weak-named assembly - have been generated, it will throw an exception; in this case, use the overload. - - - If this was created without indicating that the assembly should be saved, this method does nothing. - - - Both a strong-named and a weak-named assembly have been generated. - The path of the generated assembly file, or null if no file has been generated. - - - - Saves the specified generated assembly with the name and directory information given when this instance was created - (or with the and current directory if none was given). - - True if the generated assembly with a strong name should be saved (see ); - false if the generated assembly without a strong name should be saved (see . - - - This method stores the specified generated assembly in the directory passed as part of the module information specified when this instance was - constructed (if any, else the current directory is used). - - - If this was created without indicating that the assembly should be saved, this method does nothing. - - - No assembly has been generated that matches the parameter. - - The path of the generated assembly file, or null if no file has been generated. - - - - Users of this should use this lock when accessing the cache. - - - - - Gets the strong-named module generated by this scope, or if none has yet been generated. - - The strong-named module generated by this scope, or if none has yet been generated. - - - - Gets the file name of the strongly named module generated by this scope. - - The file name of the strongly named module generated by this scope. - - - - Gets the directory where the strongly named module generated by this scope will be saved, or if the current directory - is used. - - The directory where the strongly named module generated by this scope will be saved when is called - (if this scope was created to save modules). - - - - Gets the weak-named module generated by this scope, or if none has yet been generated. - - The weak-named module generated by this scope, or if none has yet been generated. - - - - Gets the file name of the weakly named module generated by this scope. - - The file name of the weakly named module generated by this scope. - - - - Gets the directory where the weakly named module generated by this scope will be saved, or if the current directory - is used. - - The directory where the weakly named module generated by this scope will be saved when is called - (if this scope was created to save modules). - - - - ProxyBuilder that persists the generated type. - - - The saved assembly contains just the last generated type. - - - - - Initializes a new instance of the class. - - - - - Saves the generated assembly to a physical file. Note that this renders the unusable. - - The path of the generated assembly file, or null if no assembly has been generated. - This method does not support saving multiple files. If both a signed and an unsigned module have been generated, use the - respective methods of the . - - - - Initializes a new instance of the class. - - The hook. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The builder. - - - - Initializes a new instance of the class. - - - - - Creates the class proxy. - - Type of the target. - The interfaces. - The interceptors. - - - - - - Creates the class proxy. - - Type of the target. - The interceptors. - The constructor args. - - - - - - - - - - - - - - - - - - Creates the class proxy. - - Type of the target. - The interfaces. - The options. - The constructor args. - The interceptors. - - - - - - Gets the proxy builder instance. - - The proxy builder. - - - - - - - - - - - - - - For interface proxies, this will point to the - on the target class - - - - - Base for Attributes that want to express lifestyle - chosen by the component. - - - - - Initializes a new instance of the class. - - The type. - - - - Gets or sets the lifestyle. - - The lifestyle. - - - - This attribute is usefull only when you want to register all components - on an assembly as a batch process. - By doing so, the batch register will look - for this attribute to distinguish components from other classes. - - - - - Initializes a new instance of the class. - - The key. - - - - Initializes a new instance of the class. - - The key. - The service. - - - - Initializes a new instance of the class. - - The key. - The service. - The lifestyle. - - - - Gets the service. - - The service. - - - - Gets the key. - - The key. - - - - Associates a custom component with a component - - - - - Initializes a new instance of the class. - - Type of the component activator. - - - - Gets the type of the component activator. - - The type of the component activator. - - - - Specifies the proxying behavior for a component. - - - - - Initializes a new instance of the class. - - - - - Gets or sets a value indicating whether the generated - interface proxy should inherit from . - - - - - Determines if the component requires a single interface proxy. - - - true if the component requires a single interface proxy. - - - - Gets or sets the additional interfaces used during proxy generation. - - - - - Marks as property to be skipped and not be wired - by the IoC container - - - - - Used to declare that a component wants interceptors acting on it. - - - - - Constructs the InterceptorAttribute pointing to - a key to a interceptor - - - - - - - Constructs the InterceptorAttribute pointing to - a service - - - - - - - Indicates that the target components wants a - singleton lifestyle. - - - - - Initializes a new instance of the class. - - - - - Indicates that the target components wants a - transient lifestyle. - - - - - Initializes a new instance of the class. - - - - - Indicates that the target components wants a - per thread lifestyle. - - - - - Initializes a new instance of the class. - - - - - Indicates that the target components wants a - per web request lifestyle. - - - - - Indicates that the target components wants a - pooled lifestyle. - - - - - Initializes a new instance of the class - using the default initial pool size (5) and the max pool size (15). - - - - - Initializes a new instance of the class. - - Initial size of the pool. - Max pool size. - - - - Gets the initial size of the pool. - - The initial size of the pool. - - - - Gets the maximum pool size. - - The size of the max pool. - - - - Indicates that the target components wants a - custom lifestyle. - - - - - Initializes a new instance of the class. - - The lifestyle handler. - - - - Gets the type of the lifestyle handler. - - The type of the lifestyle handler. - - - - New interface that is going to be used by DynamicProxy 2 - - - - - New interface that is going to be used by DynamicProxy 2 - - - - - Returns the concrete instantiation of , with any generic parameters bound to real types. - - The concrete instantiation of , or if not a generic method. - Can be slower than calling . - - - - Returns the concrete instantiation of , with any generic parameters bound to real types. - - The concrete instantiation of , or if not a generic method. - Can be slower than calling . - - - - - - - - - - The generic arguments of the method, or null if not a generic method. - - - - - - - - - For interface proxies, this will point to the - on the target class - - - - - Interceptors might implement this to receive the - ComponentModel on behalf of the component where the - interceptor is acting. - - - - - Get the proxy target (note that null is a valid target!) - - - - - - - Gets the interceptors for the proxy - - - - - - - Abstract representation of a vertex. - - - - - The nodes that dependes on this node - - - - - The nodes that this node depends - - - - - The node has not been visited yet - - - - - This node is in the process of being visited - - - - - This now was visited - - - - - Represents a collection of objects - which are guaranted to be unique - and holds a color for them - - - - - Holds a timestamp (integer) - for a given item - - - - - Returns the node at the specified index. - - The lookup index. - The node at the specified index. - - If the specified is greater than the - number of objects within the list. - - - - - Validates the specified index. - - The lookup index. - - If the index is invalid. - - - - - Lifecycle interface. If implemented by a component, - the method Initialized will be invoked by the container - before making the component available to the external world. - - - - - Implementors should perform any initialization logic. - - - - - Only called for components that - belongs to a pool when the component - comes back to the pool. - - - - - Implementors should perform any - initialization/clean up. - - - - - Interface for components that wish to be started by the container - - - - - Starts this instance. - - - - - Stops this instance. - - - - - Manages the instantiation of s. - - - - - Creates a new logger, getting the logger name from the specified type. - - - - - Creates a new logger. - - - - - Creates a new logger, getting the logger name from the specified type. - - - - - Creates a new logger. - - - - - Provides a factory that can produce either or - classes. - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Gets the configuration file. - - i.e. log4net.config - - - - - - Gets the configuration file. - - i.e. log4net.config - - - - - - Summary description for ConsoleFactory. - - - - - NullLogFactory used when logging is turned off. - - - - - Creates an instance of ILogger with the specified name. - - Name. - - - - - - Creates an instance of ILogger with the specified name and LoggerLevel. - - Name. - Level. - - - - - - Creates outputing - to files. The name of the file is derived from the log name - plus the 'log' extension. - - - - - Manages logging. - - - This is a facade for the different logging subsystems. - It offers a simplified interface that follows IOC patterns - and a simplified priority/level/severity abstraction. - - - - - Logs a debug message. - - The message to log - - - - Logs a debug message. - - The exception to log - The message to log - - - - Logs a debug message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The message to log - - - - Logs an info message. - - The exception to log - The message to log - - - - Logs an info message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The message to log - - - - Logs a warn message. - - The exception to log - The message to log - - - - Logs a warn message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The message to log - - - - Logs an error message. - - The exception to log - The message to log - - - - Logs an error message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The message to log - - - - Logs a fatal message. - - The exception to log - The message to log - - - - Logs a fatal message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal error message. - - The Message - - - - Logs a fatal error message. - - The Message - The Exception - - - - Logs a fatal error message. - - Message format - Array of objects to write using format - - - - Create a new child logger. - The name of the child logger is [current-loggers-name].[passed-in-name] - - The Subname of this logger. - The New ILogger instance. - If the name has an empty element name. - - - - Determines if messages of priority "debug" will be logged. - - True if "debug" messages will be logged. - - - - Determines if messages of priority "info" will be logged. - - True if "info" messages will be logged. - - - - Determines if messages of priority "warn" will be logged. - - True if "warn" messages will be logged. - - - - Determines if messages of priority "error" will be logged. - - True if "error" messages will be logged. - - - - Determines if messages of priority "fatal" will be logged. - - True if "fatal" messages will be logged. - - - - Determines if messages of priority "fatalError" will be logged. - - True if "fatalError" messages will be logged. - - - - The Level Filtered Logger class. This is a base clase which - provides a LogLevel attribute and reroutes all functions into - one Log method. - - - - - Creates a new LevelFilteredLogger. - - - - - Keep the instance alive in a remoting scenario - - - - - - - Logs a debug message. - - The message to log - - - - Logs a debug message. - - The exception to log - The message to log - - - - Logs a debug message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - Message format - Array of objects to write using format - - - - Logs an info message. - - The message to log - - - - Logs an info message. - - The exception to log - The message to log - - - - Logs an info message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - Message format - Array of objects to write using format - - - - Logs a warn message. - - The message to log - - - - Logs a warn message. - - The exception to log - The message to log - - - - Logs a warn message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - Message format - Array of objects to write using format - - - - Logs an error message. - - The message to log - - - - Logs an error message. - - The exception to log - The message to log - - - - Logs an error message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - Message format - Array of objects to write using format - - - - Logs a fatal message. - - The message to log - - - - Logs a fatal message. - - The exception to log - The message to log - - - - Logs a fatal message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - Message format - Array of objects to write using format - - - - Logs a fatal error message. - - The Message - - - - Logs a fatal error message. - - The Message - The Exception - - - - Logs a fatal error message. - - Message format - Array of objects to write using format - - - - Implementors output the log content by implementing this method only. - Note that exception can be null - - - - - - - - - - - - - The LoggerLevel that this logger - will be using. Defaults to LoggerLevel.Off - - - - The name that this logger will be using. - Defaults to String.Empty - - - - Determines if messages of priority "debug" will be logged. - - - true if log level flags include the bit - - - - Determines if messages of priority "info" will be logged. - - - true if log level flags include the bit - - - - Determines if messages of priority "warn" will be logged. - - - true if log level flags include the bit - - - - Determines if messages of priority "error" will be logged. - - - true if log level flags include the bit - - - - Determines if messages of priority "fatal" will be logged. - - - true if log level flags include the bit - - - - Determines if messages of priority "fatal" will be logged. - - - true if log level flags include the bit - - - - The Logger sending everything to the standard output streams. - This is mainly for the cases when you have a utility that - does not have a logger to supply. - - - - - Creates a new ConsoleLogger with the Level - set to LoggerLevel.Debug and the Name - set to String.Empty. - - - - - Creates a new ConsoleLogger with the Name - set to String.Empty. - - The logs Level. - - - - Creates a new ConsoleLogger with the Level - set to LoggerLevel.Debug. - - The logs Name. - - - - Creates a new ConsoleLogger. - - The logs Name. - The logs Level. - - - - A Common method to log. - - The level of logging - The name of the logger - The Message - The Exception - - - - Returns a new ConsoleLogger with the name - added after this loggers name, with a dot in between. - - The added hierarchical name. - A new ConsoleLogger. - - - - The Logger using standart Diagnostics namespace. - - - - - Creates a logger based on . - - - - - - - - Creates a logger based on . - - - - - - - - - - - Creates a logger based on . - - - - - - - - - - - - - - Provides an interface that supports and - allows the storage and retrieval of Contexts. These are supported in - both log4net and NLog. - - - - - Exposes the Global Context of the extended logger. - - - - - Exposes the Thread Context of the extended logger. - - - - - Exposes the Thread Stack of the extended logger. - - - - - The Null Logger class. This is useful for implementations where you need - to provide a logger to a utility class, but do not want any output from it. - It also helps when you have a utility that does not have a logger to supply. - - - - - Creates a new NullLogger. - - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - Returns this NullLogger. - - Ignored - This ILogger instance. - - - - No-op. - - false - - - - No-op. - - false - - - - No-op. - - false - - - - No-op. - - false - - - - No-op. - - false - - - - No-op. - - false - - - - Returns empty context properties. - - - - - Returns empty context properties. - - - - - Returns empty context stacks. - - - - - Interface for Context Properties implementations - - - - This interface defines a basic property get set accessor. - - - Based on the ContextPropertiesBase of log4net, by Nicko Cadell. - - - - - - Gets or sets the value of a property - - - The value for the property with the specified key - - - - Gets or sets the value of a property - - - - - - The Stream Logger class. This class can stream log information - to any stream, it is suitable for storing a log file to disk, - or to a MemoryStream for testing your components. - - - This logger is not thread safe. - - - - - Creates a new StreamLogger with default encoding - and buffer size. Initial Level is set to Debug. - - - The name of the log. - - - The stream that will be used for logging, - seeking while the logger is alive - - - - - Creates a new StreamLogger with default buffer size. - Initial Level is set to Debug. - - - The name of the log. - - - The stream that will be used for logging, - seeking while the logger is alive - - - The encoding that will be used for this stream. - - - - - Creates a new StreamLogger. - Initial Level is set to Debug. - - - The name of the log. - - - The stream that will be used for logging, - seeking while the logger is alive - - - The encoding that will be used for this stream. - - - The buffer size that will be used for this stream. - - - - - Creates a new StreamLogger with - Debug as default Level. - - The name of the log. - The StreamWriter the log will write to. - - - - The WebLogger sends everything to the HttpContext.Trace - - - Trace must be enabled on the Asp.Net configuration file (web.config or machine.config) - - - - - Creates a new WebLogger with the priority set to DEBUG. - - - - - Creates a new WebLogger. - - The Log level typecode. - - - - Creates a new WebLogger. - - The Log name. - - - - Creates a new WebLogger. - - The Log name. - The Log level typecode. - - - - A Common method to log. - - The level of logging - The Log name. - The Message - The Exception - - - - Just returns this logger (WebLogger is not hierarchical). - - Ignored - This ILogger instance. - - - - Tries to get the current http context's trace context. - - The current http context's trace context or null if none is - available - - - - Supporting Logger levels. - - - - - Logging will be off - - - - - Fatal logging level - - - - - Error logging level - - - - - Warn logging level - - - - - Info logging level - - - - - Debug logging level - - - - - Pendent - - - - - Deserializes the specified node into an abstract representation of configuration. - - The node. - - - - - - If a config value is an empty string we return null, this is to keep - backward compability with old code - - - - - Summary description for IConfiguration. - - - is a interface encapsulating a configuration node - used to retrieve configuration values. - - - - - Gets the value of the node and converts it - into specified . - - The - - The Default value returned if the convertion fails. - - The Value converted into the specified type. - - - - Gets the name of the node. - - - The Name of the node. - - - - - Gets the value of the node. - - - The Value of the node. - - - - - Gets an of - elements containing all node children. - - The Collection of child nodes. - - - - Gets an of the configuration attributes. - - - - - This is an abstract implementation - that deals with methods that can be abstracted away - from underlying implementations. - - - - AbstractConfiguration makes easier to implementers - to create a new version of - - - - - Gets the value of the node and converts it - into specified . - - The - - The Default value returned if the convertion fails. - - The Value converted into the specified type. - - - - Gets the name of the . - - - The Name of the . - - - - - Gets the value of . - - - The Value of the . - - - - - Gets all child nodes. - - The of child nodes. - - - - Gets node attributes. - - - All attributes of the node. - - - - - A collection of objects. - - - - - Creates a new instance of ConfigurationCollection. - - - - - Creates a new instance of ConfigurationCollection. - - - - - Creates a new instance of ConfigurationCollection. - - - - - Adds an . - - The to add. - - The index at which the new element was inserted. - - - - - Adds an array of . - - The Array of to add. - - - - Adds a . - - The to add. - - - - Copies the elements to a one-dimensional instance at the specified index. - - - The one-dimensional must have zero-based indexing. - - The zero-based index in array at which copying begins. - - - - Gets a value indicating whether the contains - in the collection. - - The to locate. - - if the is contained in the collection; - otherwise, . - - - - - Removes a specific from the - collection. - - The to remove from the collection. - - is not found in the collection. - - - - - Represents the entry at the specified index of the . - - - The zero-based index of the entry to locate in the collection. - - - The entry at the specified index of the collection. - - - is outside the valid range of indexes for the collection. - - - - - Summary description for MutableConfiguration. - - - - - Initializes a new instance of the class. - - The name. - - - - Enumeration used to mark the component's lifestyle. - - - - - No lifestyle specified. - - - - - Singleton components are instantiated once, and shared - between all clients. - - - - - Thread components have a unique instance per thread. - - - - - Transient components are created on demand. - - - - - Optimization of transient components that keeps - instance in a pool instead of always creating them. - - - - - Any other logic to create/release components. - - - - - PerWebRequest components are created once per Http Request - - - - - - - - - Represents the collection of information and - meta information collected about a component. - - - - Name (key) of the component - - - Service exposed - - - Implementation for the service - - - Extended properties - - - Lifestyle for the component - - - Custom lifestyle, if any - - - Custom activator, if any - - - Dependencies the kernel must resolve - - - All available constructors - - - All potential properties that can be setted by the kernel - - - Steps of lifecycle - - - External parameters - - - Configuration node associated - - - Interceptors associated - - - /// Custom dependencies/// - - - - Constructs a ComponentModel - - - - - Sets or returns the component key - - - - - Gets or sets the service exposed. - - The service. - - - - Gets or sets the component implementation. - - The implementation. - - - - Gets or sets a value indicating whether the component requires generic arguments. - - - true if generic arguments are required; otherwise, false. - - - - - Gets or sets the extended properties. - - The extended properties. - - - - Gets the constructors candidates. - - The constructors. - - - - Gets the properties set. - - The properties. - - - - Gets or sets the configuration. - - The configuration. - - - - Gets the lifecycle steps. - - The lifecycle steps. - - - - Gets or sets the lifestyle type. - - The type of the lifestyle. - - - - Gets or sets the strategy for - inspecting public properties - on the components - - - - - Gets or sets the custom lifestyle. - - The custom lifestyle. - - - - Gets or sets the custom component activator. - - The custom component activator. - - - - Gets the interceptors. - - The interceptors. - - - - Gets the parameter collection. - - The parameters. - - - - Dependencies are kept within constructors and - properties. Others dependencies must be - registered here, so the kernel (as a matter - of fact the handler) can check them - - - - - Gets or sets the custom dependencies. - - The custom dependencies. - - - - Represents a constructor of the component - that the container can use to initialize it properly. - - - - - Initializes a new instance of the class. - - The constructor info. - The dependencies. - - - - Gets the ConstructorInfo (from reflection). - - The constructor. - - - - Gets the dependencies this constructor candidate exposes. - - The dependencies. - - - - Collection of - - - - Adds the specified candidate. - - The candidate. - - - - Clears this instance. - - - - - Gets the fewer arguments candidate. - - The fewer arguments candidate. - - - - Represents a dependency (other component or a - fixed value available through external configuration). - - - - - Initializes a new instance of the class. - - The type. - The dependency key. - Type of the target. - if set to true [is optional]. - - - - Returns a that represents the current . - - - A that represents the current . - - - - - Serves as a hash function for a particular type, suitable - for use in hashing algorithms and data structures like a hash table. - - - A hash code for the current . - - - - - Determines whether the specified is equal to the current . - - The to compare with the current . - - if the specified is equal to the - current ; otherwise, . - - - - - Gets or sets the type of the dependency. - - The type of the dependency. - - - - Gets or sets the dependency key. - - The dependency key. - - - - Gets the type of the target. - - The type of the target. - - - - Gets or sets whether this dependency is optional. - - - true if this dependency is optional; otherwise, false. - - - - - Collection of . - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The dependencies. - - - - Initializes a new instance of the class. - - The dependencies. - - - - Adds the specified model. - - The model. - - - - Removes the specified model. - - The model. - - - - Clears this instance. - - - - - Determines whether this collection contains the the specified model. - - The model. - - true if the collection contains the specified model; otherwise, false. - - - - - Represents an reference to a Interceptor component. - - - - - Initializes a new instance of the class. - - The component key. - - - - Initializes a new instance of the class. - - Type of the service. - - - - Gets an for the component key. - - The component key. - The - - - - Gets an for the service. - - The service. - The - - - - Gets the type of the service. - - The type of the service. - - - - Gets the interceptor component key. - - The component key. - - - - Gets the type of the reference. - - The type of the reference. - - - - Collection of - - - - Adds the specified interceptor. - - The interceptor. - - - - Adds the the specified interceptor as the first. - - The interceptor. - - - - Adds the the specified interceptor as the last. - - The interceptor. - - - - Inserts the specified interceptor at the specified index. - - The index. - The interceptor. - - - - When implemented by a class, copies the elements of - the to an , starting at a particular index. - - The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. - The zero-based index in at which copying begins. - - is . - - is less than zero. - - - is multidimensional. - -or- - - is equal to or greater than the length of . - -or- - The number of elements in the source is greater than the available space from to the end of the destination . - - The type of the source cannot be cast automatically to the type of the destination . - - - - Returns an enumerator that can iterate through a collection. - - - An - that can be used to iterate through the collection. - - - - - Adds the interceptor to the end of the interceptors list if it does not exist already. - - The interceptor reference. - - - - Gets a value indicating whether this instance has interceptors. - - - true if this instance has interceptors; otherwise, false. - - - - - Gets the number of - elements contained in the . - - - - - - - Gets an object that - can be used to synchronize access to the . - - - - - - - Gets a value - indicating whether access to the is synchronized - (thread-safe). - - - - - - - Represents a collection of ordered lifecycle steps. - - - - - Initializes a new instance of the class. - - - - - Returns all steps for the commission phase - - - - - - - Returns all steps for the decommission phase - - - - - - - Adds a step to the commission or decomission phases. - - - - - - - - - Copies the elements of - the to an , starting at a particular index. - - The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. - The zero-based index in at which copying begins. - - is . - - is less than zero. - - - is multidimensional. - -or- - - is equal to or greater than the length of . - -or- - The number of elements in the source is greater than the available space from to the end of the destination . - - The type of the source cannot be cast automatically to the type of the destination . - - - - Returns an enumerator that can iterate through a collection. - - - An - that can be used to iterate through the collection. - - - - - Gets a value indicating whether this instance has commission steps. - - - true if this instance has commission steps; otherwise, false. - - - - - Gets a value indicating whether this instance has decommission steps. - - - true if this instance has decommission steps; otherwise, false. - - - - - Gets the number of - elements contained in the . - - - - - - - Gets an object that - can be used to synchronize access to the . - - - - - - - Gets a value - indicating whether access to the is synchronized - (thread-safe). - - - - - - - Represents meta information associated with a method - (not yet defined) - - - - - Initializes a new instance of the class. - - The config node. - - - - Gets the config node. - - The config node. - - - - Collection of - - - - Adds the specified model. - - The model. - - - - Gets the method info2 model. - - The method info2 model. - - - - Represents a parameter. Usually the parameter - comes from the external world, ie, an external configuration. - - - - - Initializes a new instance of the class. - - The name. - The value. - - - - Initializes a new instance of the class. - - The name. - The value. - - - - Gets the name. - - The name. - - - - Gets the value. - - The value. - - - - Gets the config value. - - The config value. - - - - Collection of - - - - Initializes a new instance of the class. - - - - - Adds the specified name. - - The name. - The value. - - - - Adds the specified name. - - The name. - The config node. - - - - Determines whether this collection contains the specified key. - - The key. - - true if yes; otherwise, false. - - - - - Adds the specified key. - - - Not implemented - - The key. - The value. - - - - Clears this instance. - - - Not implemented - - - - - Removes the specified key. - - The key. - - Not implemented - - - - - Copy the content to the specified array - - target array - target index - - Not implemented - - - - - Returns an enumerator that can iterate through a collection. - - - An - that can be used to iterate through the collection. - - - - - Gets the keys. - - The keys. - - Not implemented - - - - - Gets the values. - - The values. - - Not implemented - - - - - Gets a value indicating whether this instance is read only. - - - true if this instance is read only; otherwise, false. - - - - - Gets a value indicating whether this instance is fixed size. - - - true if this instance is fixed size; otherwise, false. - - - - - Gets the with the specified key. - - - - - - - Gets the count. - - The count. - - - - Gets the sync root. - - The sync root. - - - - Gets a value indicating whether this instance is synchronized. - - - true if this instance is synchronized; otherwise, false. - - - - - Represents a property and the respective dependency. - - - - - Initializes a new instance of the class. - - The property info. - The dependency. - - - - Gets the property. - - The property. - - - - Gets the dependency. - - The dependency. - - - - Collection of - - - - Adds the specified property. - - The property. - - - - Clears this instance. - - - - - Finds a PropertySet the by PropertyInfo. - - The info. - - - - - - Represents a 'streamable' resource. Can - be a file, a resource in an assembly. - - - - - Returns a reader for the stream - - - It's up to the caller to dispose the reader. - - - - - - - Returns a reader for the stream - - - It's up to the caller to dispose the reader. - - - - - - - - - Returns an instance of - created according to the relativePath - using itself as the root. - - - - - - - - - - - Only valid for resources that - can be obtained through relative paths - - - - - - - - - This returns a new stream instance each time it is called. - It is the responsability of the caller to dispose of this stream - - - - - Depicts the contract for resource factories. - - - - - Used to check whether the resource factory - is able to deal with the given resource - identifier. - - - Implementors should return true - only if the given identificator is supported - by the resource factory - - - - - - - - - Creates an instance - for the given resource identifier - - - - - - - - - Creates an instance - for the given resource identifier - - - - - - - - - - - - - - - - - - - - - - - Adapts a static string content as an - - - - Enable access to files on network shares - - - - - Defines that the implementation wants a - in order to - access other components. The creator must be aware - that the component might (or might not) implement - the interface. - - - Used by Castle Project components to, for example, - gather logging factories - - - - - Increments IServiceProvider with a generic service resolution operation. - - - - - This interface should be implemented by classes - that are available in a bigger context, exposing - the container to different areas in the same application. - - For example, in Web application, the (global) HttpApplication - subclasses should implement this interface to expose - the configured container - - - - - General purpose class to represent a standard pair of values. - - Type of the first value - Type of the second value - - - - Constructs a pair with its values - - - - - - - - - Pendent - - - - - Initializes a new instance of the class. - - The target. - - - - Determines whether the object contains an element with the specified key. - - The key to locate in the object. - - true if the contains an element with the key; otherwise, false. - - - is null. - - - - Adds an element with the provided key and value to the object. - - The to use as the key of the element to add. - The to use as the value of the element to add. - - is null. - An element with the same key already exists in the object. - The is read-only.-or- The has a fixed size. - - - - Removes all elements from the object. - - The object is read-only. - - - - Removes the element with the specified key from the object. - - The key of the element to remove. - - is null. - The object is read-only.-or- The has a fixed size. - - - - Copies the elements of the to an , starting at a particular index. - - The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. - The zero-based index in at which copying begins. - - is null. - - is less than zero. - - is multidimensional.-or- is equal to or greater than the length of .-or- The number of elements in the source is greater than the available space from to the end of the destination . - The type of the source cannot be cast automatically to the type of the destination . - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - - - - Gets or sets the with the specified key. - - - - - - - Gets an object containing the keys of the object. - - - - An object containing the keys of the object. - - - - Gets an object containing the values in the object. - - - - An object containing the values in the object. - - - - Gets a value indicating whether the object is read-only. - - - - true if the object is read-only; otherwise, false. - - - - Gets a value indicating whether the object has a fixed size. - - - - true if the object has a fixed size; otherwise, false. - - - - Gets the number of elements contained in the . - - - - The number of elements contained in the . - - - - Gets an object that can be used to synchronize access to the . - - - - An object that can be used to synchronize access to the . - - - - Gets a value indicating whether access to the is synchronized (thread safe). - - - - true if access to the is synchronized (thread safe); otherwise, false. - - - \ No newline at end of file + + + + This delegate is compatible with the System.Func{T,R} signature + We have to define our own to get compatability with 2.0 + + + + + This attribute is here so we can get better Pex integration + Using this means that Pex will not try to inspect the work of + the actual proxies being generated by Rhino Mocks + + + +