C# Class Habanero.Testability.BOTestFactory

The BOTestFactory is a factory used to construct a Business Object for testing. The Constructed Business object can be constructed a a valid (i.e. saveable Business object) CreateValidBusinessObject .
A Valid Property Value can also be generated for any particular Prop using one of the overloads of GetValidPropValue(IBOProp), GetValidPropValue(Habanero.Base.ISingleValueDef), GetValidPropValue(Habanero.Base.IBusinessObject,string) GetValidPropValue(System.Type,string).
A Valid Relationship can be generated for any particular relationship using GetValidRelationshipValue.
Although all of these are valid methods of using the BOTestFactory you are most likely to use the Generic BOTestFactory BOTestFactory{TBO} this test factory has even more powerfull mechanisms to use for generating valid Relationship and PropValues.
Afficher le fichier Open project: Chillisoft/habanero.testability Class Usage Examples

Protected Properties

Свойство Type Description
_defaultValueRegistry BODefaultValueRegistry
_validValueGenRegistry BOPropValueGeneratorRegistry

Méthodes publiques

Méthode Description
BOTestFactory ( Type boType ) : System.Collections

CreateDefaultBusinessObject ( ) : IBusinessObject

Creates a business object with only its default values set (i.e. defaults from its ClassDef).

CreateSavedBusinessObject ( ) : IBusinessObject

Returns a saved valid business object of Type

CreateValidBusinessObject ( ) : IBusinessObject

Creates a business object with all of its compulsory properties and Relationships set to Valid values.

FixInvalidInterPropRules ( IBusinessObject bo ) : void

Fixes a Business object that has been created. I.e. if the Business object has any InterPropRules then these rules are used to ensure that the Property values do not conflict with the InterPropRules.

GetValidPropValue ( IBOProp boProp ) : object

Returns a valid prop value for boProp using any IPropRules for the Prop. Note_ this value does take into consideration any InterPropRules

GetValidPropValue ( IBusinessObject bo, string propName ) : object

Returns a valid prop value for propName for the IBusinessObject using any IPropRules for the Prop and any InterPropRules for the BusinessObject.

GetValidPropValue ( ISingleValueDef propDef ) : object

Returns a valid prop value for propDef using any IPropRules for the Prop. Note_ this value does not take into consideration any InterPropRules

GetValidPropValue ( Type type, string propName ) : object

Returns a valid prop value for propName for the Business object of type type using any IPropRules for the Prop. Note_ this value does nto atake into consideration any InterPropRules

GetValidPropValue ( string propName ) : object

Returns a valid prop value for propName for the Business object using any IPropRules for the Prop. Note_ this value does nto atake into consideration any InterPropRules

GetValidRelationshipValue ( ISingleValueDef relationshipDef ) : IBusinessObject

Returns a Valid Relationship Value for the relationship relationshipDef

GetValidValue ( IBusinessObject bo, string name ) : object

Returns a valid prop value for Property or single relationship with the name name for the IBusinessObject.

GetValidValue ( string name ) : object

Returns a valid Value for either a single relationship or a property for the BusinessObject's relationship or prop is identified by the name

GetValidValueGenerator ( ISingleValueDef propDef ) : ValidValueGenerator

returns a valid value generator for of the specified type based on the ISingleValueDef.ISingleValueDef.PropertyType

SetPropValueToValidValue ( IBOProp boProp ) : void

Sets the value of the IBOProp to a valid value. This is primarily used internally.

SetRelationshipToValidValue ( ISingleRelationship singleRelationship ) : void

Sets the Value of the ISingleRelationship to a valid value.

SetValueFor ( string propertyName, object propertyValue ) : void

Sets the propertyValue for the method Idenfied by the propertyName. This ensures that when the CreateValidBusinessObject or BOTestFactory.UpdateCompulsoryProperties or GetValidPropValue(Habanero.Base.IBOProp) and the GetValidRelationshipValue for this Property this value is always used

UpdateCompulsoryProperties ( IBusinessObject businessObject ) : void

Updates any compulsory relationships or properties for

Méthodes protégées

Méthode Description
CreateBusinessObject ( ) : IBusinessObject
GetPropDef ( IClassDef classDef, string propName, bool raiseErrIfNotExists ) : ISingleValueDef
GetPropDef ( Type type, string propName, bool raiseErrIfNotExists ) : ISingleValueDef
GetRelationshipDef ( Type type, string relationshipName, bool raiseErrIfNotExists ) : IRelationshipDef
GetValidPropValue ( IClassDef classDef, string propName ) : object

Returns a valid prop value for propName for the Business object of type classDef using any IPropRules for the Prop. Note_ this value does nto atake into consideration any InterPropRules

GetValidRelationshipValue ( Type type, string relationshipName ) : IBusinessObject

Returns a valid Relationship for the BusinessObject's relationship identified by the relationshipName

ValidateClassDef ( Type type ) : void
ValidateRelationshipDef ( Type type, IRelationshipDef def, string relationshipName ) : void

Private Methods

Méthode Description
GetBusinessObjectRules ( IBusinessObject bo ) : IEnumerable
GetValidValue ( Type type, string name ) : object

Returns a valid Value for either a single relationship or a property for the BusinessObject's relationship or prop is identified by the name

IsNotWriteNotNew ( ISingleValueDef propDef ) : bool
MustCreateSinglePropValue ( ISingleRelationship singleRelationship ) : bool
SetRelationshipToValidValue ( IMultipleRelationship multipleRelationship ) : void

Sets the Value of the IMultipleRelationship to a list of values as configured using the WithMany.

ThrowPropDoesNotExist ( Type type, string name ) : void
UpdatePrimaryKeyProps ( IBusinessObject businessObject ) : void
UpdateProperties ( IBusinessObject businessObject ) : void
UpdateSingleRelationships ( IBusinessObject businessObject ) : void
UpdatedManyRelationships ( IBusinessObject businessObject ) : void
ValidateProp ( Type type, ISingleValueDef def, string propName ) : void

Method Details

BOTestFactory() public méthode

public BOTestFactory ( Type boType ) : System.Collections
boType System.Type
Résultat System.Collections

CreateBusinessObject() protected méthode

protected CreateBusinessObject ( ) : IBusinessObject
Résultat IBusinessObject

CreateDefaultBusinessObject() public méthode

Creates a business object with only its default values set (i.e. defaults from its ClassDef).
public CreateDefaultBusinessObject ( ) : IBusinessObject
Résultat IBusinessObject

CreateSavedBusinessObject() public méthode

Returns a saved valid business object of Type
public CreateSavedBusinessObject ( ) : IBusinessObject
Résultat IBusinessObject

CreateValidBusinessObject() public méthode

Creates a business object with all of its compulsory properties and Relationships set to Valid values.
public CreateValidBusinessObject ( ) : IBusinessObject
Résultat IBusinessObject

FixInvalidInterPropRules() public méthode

Fixes a Business object that has been created. I.e. if the Business object has any InterPropRules then these rules are used to ensure that the Property values do not conflict with the InterPropRules.
public FixInvalidInterPropRules ( IBusinessObject bo ) : void
bo IBusinessObject
Résultat void

GetPropDef() protected static méthode

protected static GetPropDef ( IClassDef classDef, string propName, bool raiseErrIfNotExists ) : ISingleValueDef
classDef IClassDef
propName string
raiseErrIfNotExists bool
Résultat ISingleValueDef

GetPropDef() protected static méthode

protected static GetPropDef ( Type type, string propName, bool raiseErrIfNotExists ) : ISingleValueDef
type System.Type
propName string
raiseErrIfNotExists bool
Résultat ISingleValueDef

GetRelationshipDef() protected static méthode

protected static GetRelationshipDef ( Type type, string relationshipName, bool raiseErrIfNotExists ) : IRelationshipDef
type System.Type
relationshipName string
raiseErrIfNotExists bool
Résultat IRelationshipDef

GetValidPropValue() public méthode

Returns a valid prop value for boProp using any IPropRules for the Prop. Note_ this value does take into consideration any InterPropRules
public GetValidPropValue ( IBOProp boProp ) : object
boProp IBOProp
Résultat object

GetValidPropValue() public méthode

Returns a valid prop value for propName for the IBusinessObject using any IPropRules for the Prop and any InterPropRules for the BusinessObject.
public GetValidPropValue ( IBusinessObject bo, string propName ) : object
bo IBusinessObject
propName string
Résultat object

GetValidPropValue() protected méthode

Returns a valid prop value for propName for the Business object of type classDef using any IPropRules for the Prop. Note_ this value does nto atake into consideration any InterPropRules
protected GetValidPropValue ( IClassDef classDef, string propName ) : object
classDef IClassDef
propName string
Résultat object

GetValidPropValue() public méthode

Returns a valid prop value for propDef using any IPropRules for the Prop. Note_ this value does not take into consideration any InterPropRules
public GetValidPropValue ( ISingleValueDef propDef ) : object
propDef ISingleValueDef
Résultat object

GetValidPropValue() public méthode

Returns a valid prop value for propName for the Business object of type type using any IPropRules for the Prop. Note_ this value does nto atake into consideration any InterPropRules
public GetValidPropValue ( Type type, string propName ) : object
type System.Type
propName string
Résultat object

GetValidPropValue() public méthode

Returns a valid prop value for propName for the Business object using any IPropRules for the Prop. Note_ this value does nto atake into consideration any InterPropRules
public GetValidPropValue ( string propName ) : object
propName string
Résultat object

GetValidRelationshipValue() public méthode

Returns a Valid Relationship Value for the relationship relationshipDef
public GetValidRelationshipValue ( ISingleValueDef relationshipDef ) : IBusinessObject
relationshipDef ISingleValueDef
Résultat IBusinessObject

GetValidRelationshipValue() protected méthode

Returns a valid Relationship for the BusinessObject's relationship identified by the relationshipName
protected GetValidRelationshipValue ( Type type, string relationshipName ) : IBusinessObject
type System.Type
relationshipName string
Résultat IBusinessObject

GetValidValue() public méthode

Returns a valid prop value for Property or single relationship with the name name for the IBusinessObject.
public GetValidValue ( IBusinessObject bo, string name ) : object
bo IBusinessObject
name string
Résultat object

GetValidValue() public méthode

Returns a valid Value for either a single relationship or a property for the BusinessObject's relationship or prop is identified by the name
public GetValidValue ( string name ) : object
name string
Résultat object

GetValidValueGenerator() public méthode

returns a valid value generator for of the specified type based on the ISingleValueDef.ISingleValueDef.PropertyType
public GetValidValueGenerator ( ISingleValueDef propDef ) : ValidValueGenerator
propDef ISingleValueDef
Résultat ValidValueGenerator

SetPropValueToValidValue() public méthode

Sets the value of the IBOProp to a valid value. This is primarily used internally.
public SetPropValueToValidValue ( IBOProp boProp ) : void
boProp IBOProp
Résultat void

SetRelationshipToValidValue() public méthode

Sets the Value of the ISingleRelationship to a valid value.
public SetRelationshipToValidValue ( ISingleRelationship singleRelationship ) : void
singleRelationship ISingleRelationship
Résultat void

SetValueFor() public méthode

Sets the propertyValue for the method Idenfied by the propertyName. This ensures that when the CreateValidBusinessObject or BOTestFactory.UpdateCompulsoryProperties or GetValidPropValue(Habanero.Base.IBOProp) and the GetValidRelationshipValue for this Property this value is always used
public SetValueFor ( string propertyName, object propertyValue ) : void
propertyName string
propertyValue object
Résultat void

UpdateCompulsoryProperties() public méthode

Updates any compulsory relationships or properties for
public UpdateCompulsoryProperties ( IBusinessObject businessObject ) : void
businessObject IBusinessObject
Résultat void

ValidateClassDef() protected static méthode

protected static ValidateClassDef ( Type type ) : void
type System.Type
Résultat void

ValidateRelationshipDef() protected static méthode

protected static ValidateRelationshipDef ( Type type, IRelationshipDef def, string relationshipName ) : void
type System.Type
def IRelationshipDef
relationshipName string
Résultat void

Property Details

_defaultValueRegistry protected_oe property

protected BODefaultValueRegistry,Habanero.Testability _defaultValueRegistry
Résultat BODefaultValueRegistry

_validValueGenRegistry protected_oe property

protected BOPropValueGeneratorRegistry,Habanero.Testability _validValueGenRegistry
Résultat BOPropValueGeneratorRegistry