@ -31,15 +31,15 @@ public class RepositoryRegistration_Tests
 
			
		
	
		
			
				
					        //Assert 
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					        //MyTestAggregateRootWithoutPk 
 
			
		
	
		
			
				
					        services . ShouldContainTransient ImplementationFactory( typeof ( IReadOnly  Repository< MyTestAggregateRootWithoutPk > ) ) ; 
 
			
		
	
		
			
				
					        services . ShouldContainTransient ( typeof ( IReadOnlyRepository < MyTestAggregateRootWithoutPk > ) ,  typeof ( MyTestDefault < MyTestAggregateRootWithoutPk > ) ) ; 
 
			
		
	
		
			
				
					        services . ShouldContainTransient ( typeof ( IBasicRepository < MyTestAggregateRootWithoutPk > ) ,  typeof ( MyTestDefaultRepository < MyTestAggregateRootWithoutPk > ) ) ; 
 
			
		
	
		
			
				
					        services . ShouldContainTransient ( typeof ( IRepository < MyTestAggregateRootWithoutPk > ) ,  typeof ( MyTestDefaultRepository < MyTestAggregateRootWithoutPk > ) ) ; 
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					        //MyTestAggregateRootWithGuidPk 
 
			
		
	
		
			
				
					        services . ShouldContainTransient ImplementationFactory( typeof ( IReadOnly  Repository< MyTestAggregateRootWithGuidPk > ) ) ; 
 
			
		
	
		
			
				
					        services . ShouldContainTransient ( typeof ( IReadOnlyRepository < MyTestAggregateRootWithGuidPk > ) ,  typeof ( MyTestDefault < MyTestAggregateRootWithGuidPk ,  Guid > ) ) ; 
 
			
		
	
		
			
				
					        services . ShouldContainTransient ( typeof ( IBasicRepository < MyTestAggregateRootWithGuidPk > ) ,  typeof ( MyTestDefaultRepository < MyTestAggregateRootWithGuidPk ,  Guid > ) ) ; 
 
			
		
	
		
			
				
					        services . ShouldContainTransient ( typeof ( IRepository < MyTestAggregateRootWithGuidPk > ) ,  typeof ( MyTestDefaultRepository < MyTestAggregateRootWithGuidPk ,  Guid > ) ) ; 
 
			
		
	
		
			
				
					        services . ShouldContainTransient ImplementationFactory( typeof ( IReadOnly  Repository< MyTestAggregateRootWithGuidPk ,  Guid > ) ) ; 
 
			
		
	
		
			
				
					        services . ShouldContainTransient ( typeof ( IReadOnlyRepository < MyTestAggregateRootWithGuidPk ,  Guid > ) ,  typeof ( MyTestDefault < MyTestAggregateRootWithGuidPk ,  Guid > ) ) ; 
 
			
		
	
		
			
				
					        services . ShouldContainTransient ( typeof ( IBasicRepository < MyTestAggregateRootWithGuidPk ,  Guid > ) ,  typeof ( MyTestDefaultRepository < MyTestAggregateRootWithGuidPk ,  Guid > ) ) ; 
 
			
		
	
		
			
				
					        services . ShouldContainTransient ( typeof ( IRepository < MyTestAggregateRootWithGuidPk ,  Guid > ) ,  typeof ( MyTestDefaultRepository < MyTestAggregateRootWithGuidPk ,  Guid > ) ) ; 
 
			
		
	
		
			
				
					
 
			
		
	
	
		
			
				
					
						
							
								 
						
						
							
								 
						
						
					 
				
				@ -69,24 +69,24 @@ public class RepositoryRegistration_Tests
 
			
		
	
		
			
				
					        //Assert 
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					        //MyTestAggregateRootWithoutPk 
 
			
		
	
		
			
				
					        services . ShouldContainTransient ImplementationFactory( typeof ( IReadOnly  Repository< MyTestAggregateRootWithoutPk > ) ) ; 
 
			
		
	
		
			
				
					        services . ShouldContainTransient ( typeof ( IReadOnlyRepository < MyTestAggregateRootWithoutPk > ) ,  typeof ( MyTestDefault < MyTestAggregateRootWithoutPk > ) ) ; 
 
			
		
	
		
			
				
					        services . ShouldContainTransient ( typeof ( IBasicRepository < MyTestAggregateRootWithoutPk > ) ,  typeof ( MyTestDefaultRepository < MyTestAggregateRootWithoutPk > ) ) ; 
 
			
		
	
		
			
				
					        services . ShouldContainTransient ( typeof ( IRepository < MyTestAggregateRootWithoutPk > ) ,  typeof ( MyTestDefaultRepository < MyTestAggregateRootWithoutPk > ) ) ; 
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					        //MyTestAggregateRootWithGuidPk 
 
			
		
	
		
			
				
					        services . ShouldContainTransient ImplementationFactory( typeof ( IReadOnly  Repository< MyTestAggregateRootWithGuidPk > ) ) ; 
 
			
		
	
		
			
				
					        services . ShouldContainTransient ( typeof ( IReadOnlyRepository < MyTestAggregateRootWithGuidPk > ) ,  typeof ( MyTestDefault < MyTestAggregateRootWithGuidPk ,  Guid > ) ) ; 
 
			
		
	
		
			
				
					        services . ShouldContainTransient ( typeof ( IBasicRepository < MyTestAggregateRootWithGuidPk > ) ,  typeof ( MyTestDefaultRepository < MyTestAggregateRootWithGuidPk ,  Guid > ) ) ; 
 
			
		
	
		
			
				
					        services . ShouldContainTransient ( typeof ( IRepository < MyTestAggregateRootWithGuidPk > ) ,  typeof ( MyTestDefaultRepository < MyTestAggregateRootWithGuidPk ,  Guid > ) ) ; 
 
			
		
	
		
			
				
					        services . ShouldContainTransient ImplementationFactory( typeof ( IReadOnly  Repository< MyTestAggregateRootWithGuidPk ,  Guid > ) ) ; 
 
			
		
	
		
			
				
					        services . ShouldContainTransient ( typeof ( IReadOnlyRepository < MyTestAggregateRootWithGuidPk ,  Guid > ) ,  typeof ( MyTestDefault < MyTestAggregateRootWithGuidPk ,  Guid > ) ) ; 
 
			
		
	
		
			
				
					        services . ShouldContainTransient ( typeof ( IBasicRepository < MyTestAggregateRootWithGuidPk ,  Guid > ) ,  typeof ( MyTestDefaultRepository < MyTestAggregateRootWithGuidPk ,  Guid > ) ) ; 
 
			
		
	
		
			
				
					        services . ShouldContainTransient ( typeof ( IRepository < MyTestAggregateRootWithGuidPk ,  Guid > ) ,  typeof ( MyTestDefaultRepository < MyTestAggregateRootWithGuidPk ,  Guid > ) ) ; 
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					        //MyTestEntityWithInt32Pk 
 
			
		
	
		
			
				
					        services . ShouldContainTransient ImplementationFactory( typeof ( IReadOnly  Repository< MyTestEntityWithInt32Pk > ) ) ; 
 
			
		
	
		
			
				
					        services . ShouldContainTransient ( typeof ( IReadOnlyRepository < MyTestEntityWithInt32Pk > ) ,  typeof ( MyTestDefault < MyTestEntityWithInt32Pk ,  int > ) ) ; 
 
			
		
	
		
			
				
					        services . ShouldContainTransient ( typeof ( IBasicRepository < MyTestEntityWithInt32Pk > ) ,  typeof ( MyTestDefaultRepository < MyTestEntityWithInt32Pk ,  int > ) ) ; 
 
			
		
	
		
			
				
					        services . ShouldContainTransient ( typeof ( IRepository < MyTestEntityWithInt32Pk > ) ,  typeof ( MyTestDefaultRepository < MyTestEntityWithInt32Pk ,  int > ) ) ; 
 
			
		
	
		
			
				
					        services . ShouldContainTransient ImplementationFactory( typeof ( IReadOnly  Repository< MyTestEntityWithInt32Pk ,  int > ) ) ; 
 
			
		
	
		
			
				
					        services . ShouldContainTransient ImplementationFactory ( typeof ( IReadOnlyBasic Repository< MyTestEntityWithInt32Pk ,  int > ) ) ; 
 
			
		
	
		
			
				
					        services . ShouldContainTransient ( typeof ( IReadOnlyRepository < MyTestEntityWithInt32Pk ,  int > ) ,  typeof ( MyTestDefault < MyTestEntityWithInt32Pk ,  int > ) ) ; 
 
			
		
	
		
			
				
					        services . ShouldContainTransient ( typeof ( IReadOnlyBasic Repository< MyTestEntityWithInt32Pk ,  int > ) ,  typeof ( MyTestDefault  Repository< MyTestEntityWithInt32Pk ,  int > ) ) ; 
 
			
		
	
		
			
				
					        services . ShouldContainTransient ( typeof ( IBasicRepository < MyTestEntityWithInt32Pk ,  int > ) ,  typeof ( MyTestDefaultRepository < MyTestEntityWithInt32Pk ,  int > ) ) ; 
 
			
		
	
		
			
				
					        services . ShouldContainTransient ( typeof ( IRepository < MyTestEntityWithInt32Pk ,  int > ) ,  typeof ( MyTestDefaultRepository < MyTestEntityWithInt32Pk ,  int > ) ) ; 
 
			
		
	
		
			
				
					    } 
 
			
		
	
	
		
			
				
					
						
							
								 
						
						
							
								 
						
						
					 
				
				@ -114,20 +114,20 @@ public class RepositoryRegistration_Tests
 
			
		
	
		
			
				
					        services . ShouldContainTransient ( typeof ( IRepository < MyTestAggregateRootWithoutPk > ) ,  typeof ( MyTestDefaultRepository < MyTestAggregateRootWithoutPk > ) ) ; 
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					        //MyTestAggregateRootWithGuidPk 
 
			
		
	
		
			
				
					        services . ShouldContainTransient ImplementationFactory ( typeof ( IReadOnlyRepository < MyTestAggregateRootWithGuidPk > ) ) ; 
 
			
		
	
		
			
				
					        services . ShouldContainTransient ( typeof ( IReadOnlyRepository < MyTestAggregateRootWithGuidPk > ) ,  typeof ( MyTestAggregateRootWithDefaultPkCustomRepository ) ) ; 
 
			
		
	
		
			
				
					        services . ShouldContainTransient ( typeof ( IBasicRepository < MyTestAggregateRootWithGuidPk > ) ,  typeof ( MyTestAggregateRootWithDefaultPkCustomRepository ) ) ; 
 
			
		
	
		
			
				
					        services . ShouldContainTransient ( typeof ( IRepository < MyTestAggregateRootWithGuidPk > ) ,  typeof ( MyTestAggregateRootWithDefaultPkCustomRepository ) ) ; 
 
			
		
	
		
			
				
					        services . ShouldContainTransient ImplementationFactory ( typeof ( IReadOnlyRepository < MyTestAggregateRootWithGuidPk ,  Guid > ) ) ; 
 
			
		
	
		
			
				
					        services . ShouldContainTransient ImplementationFactory ( typeof ( IReadOnlyBasicRepository < MyTestAggregateRootWithGuidPk ,  Guid > ) ) ; 
 
			
		
	
		
			
				
					        services . ShouldContainTransient ( typeof ( IReadOnlyRepository < MyTestAggregateRootWithGuidPk ,  Guid > ) ,  typeof ( MyTestAggregateRootWithDefaultPkCustomRepository ) ) ; 
 
			
		
	
		
			
				
					        services . ShouldContainTransient ( typeof ( IReadOnlyBasicRepository < MyTestAggregateRootWithGuidPk ,  Guid > ) ,  typeof ( MyTestAggregateRootWithDefaultPkCustomRepository ) ) ; 
 
			
		
	
		
			
				
					        services . ShouldContainTransient ( typeof ( IBasicRepository < MyTestAggregateRootWithGuidPk ,  Guid > ) ,  typeof ( MyTestAggregateRootWithDefaultPkCustomRepository ) ) ; 
 
			
		
	
		
			
				
					        services . ShouldContainTransient ( typeof ( IRepository < MyTestAggregateRootWithGuidPk ,  Guid > ) ,  typeof ( MyTestAggregateRootWithDefaultPkCustomRepository ) ) ; 
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					        //MyTestEntityWithInt32Pk 
 
			
		
	
		
			
				
					        services . ShouldContainTransient ImplementationFactory( typeof ( IReadOnly  Repository< MyTestEntityWithInt32Pk > ) ) ; 
 
			
		
	
		
			
				
					        services . ShouldContainTransient ( typeof ( IReadOnlyRepository < MyTestEntityWithInt32Pk > ) ,  typeof ( MyTestDefault < MyTestEntityWithInt32Pk ,  int > ) ) ; 
 
			
		
	
		
			
				
					        services . ShouldContainTransient ( typeof ( IBasicRepository < MyTestEntityWithInt32Pk > ) ,  typeof ( MyTestDefaultRepository < MyTestEntityWithInt32Pk ,  int > ) ) ; 
 
			
		
	
		
			
				
					        services . ShouldContainTransient ( typeof ( IRepository < MyTestEntityWithInt32Pk > ) ,  typeof ( MyTestDefaultRepository < MyTestEntityWithInt32Pk ,  int > ) ) ; 
 
			
		
	
		
			
				
					        services . ShouldContainTransient ImplementationFactory( typeof ( IReadOnly  Repository< MyTestEntityWithInt32Pk ,  int > ) ) ; 
 
			
		
	
		
			
				
					        services . ShouldContainTransient ImplementationFactory ( typeof ( IReadOnlyBasic Repository< MyTestEntityWithInt32Pk ,  int > ) ) ; 
 
			
		
	
		
			
				
					        services . ShouldContainTransient ( typeof ( IReadOnlyRepository < MyTestEntityWithInt32Pk ,  int > ) ,  typeof ( MyTestDefault < MyTestEntityWithInt32Pk ,  int > ) ) ; 
 
			
		
	
		
			
				
					        services . ShouldContainTransient ( typeof ( IReadOnlyBasic Repository< MyTestEntityWithInt32Pk ,  int > ) ,  typeof ( MyTestDefault  Repository< MyTestEntityWithInt32Pk ,  int > ) ) ; 
 
			
		
	
		
			
				
					        services . ShouldContainTransient ( typeof ( IBasicRepository < MyTestEntityWithInt32Pk ,  int > ) ,  typeof ( MyTestDefaultRepository < MyTestEntityWithInt32Pk ,  int > ) ) ; 
 
			
		
	
		
			
				
					        services . ShouldContainTransient ( typeof ( IRepository < MyTestEntityWithInt32Pk ,  int > ) ,  typeof ( MyTestDefaultRepository < MyTestEntityWithInt32Pk ,  int > ) ) ; 
 
			
		
	
		
			
				
					    } 
 
			
		
	
	
		
			
				
					
						
							
								 
						
						
							
								 
						
						
					 
				
				@ -209,10 +209,10 @@ public class RepositoryRegistration_Tests
 
			
		
	
		
			
				
					        services . ShouldNotContainService ( typeof ( IRepository < MyTestAggregateRootWithoutPk > ) ) ; 
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					        //MyTestAggregateRootWithGuidPk 
 
			
		
	
		
			
				
					        services . ShouldContainTransient ImplementationFactory( typeof ( IReadOnly  Repository< MyTestAggregateRootWithGuidPk > ) ) ; 
 
			
		
	
		
			
				
					        services . ShouldContainTransient ( typeof ( IReadOnlyRepository < MyTestAggregateRootWithGuidPk > ) ,  typeof ( MyTestDefault < MyTestAggregateRootWithGuidPk ,  Guid > ) ) ; 
 
			
		
	
		
			
				
					        services . ShouldContainTransient ( typeof ( IBasicRepository < MyTestAggregateRootWithGuidPk > ) ,  typeof ( MyTestDefaultRepository < MyTestAggregateRootWithGuidPk ,  Guid > ) ) ; 
 
			
		
	
		
			
				
					        services . ShouldContainTransient ( typeof ( IRepository < MyTestAggregateRootWithGuidPk > ) ,  typeof ( MyTestDefaultRepository < MyTestAggregateRootWithGuidPk ,  Guid > ) ) ; 
 
			
		
	
		
			
				
					        services . ShouldContainTransient ImplementationFactory( typeof ( IReadOnly  Repository< MyTestAggregateRootWithGuidPk ,  Guid > ) ) ; 
 
			
		
	
		
			
				
					        services . ShouldContainTransient ( typeof ( IReadOnlyRepository < MyTestAggregateRootWithGuidPk ,  Guid > ) ,  typeof ( MyTestDefault < MyTestAggregateRootWithGuidPk ,  Guid > ) ) ; 
 
			
		
	
		
			
				
					        services . ShouldContainTransient ( typeof ( IBasicRepository < MyTestAggregateRootWithGuidPk ,  Guid > ) ,  typeof ( MyTestDefaultRepository < MyTestAggregateRootWithGuidPk ,  Guid > ) ) ; 
 
			
		
	
		
			
				
					        services . ShouldContainTransient ( typeof ( IRepository < MyTestAggregateRootWithGuidPk ,  Guid > ) ,  typeof ( MyTestDefaultRepository < MyTestAggregateRootWithGuidPk ,  Guid > ) ) ; 
 
			
		
	
		
			
				
					    } 
 
			
		
	
	
		
			
				
					
						
						
						
							
								 
						
					 
				
				@ -234,11 +234,11 @@ public class RepositoryRegistration_Tests
 
			
		
	
		
			
				
					        new  MyTestRepositoryRegistrar ( options ) . AddRepositories ( ) ; 
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					        //MyTestAggregateRootWithGuidPk 
 
			
		
	
		
			
				
					        services . ShouldContainTransient ImplementationFactory ( typeof ( IReadOnlyRepository < MyTestAggregateRootWithGuidPk > ) ) ; 
 
			
		
	
		
			
				
					        services . ShouldContainTransient ( typeof ( IReadOnlyRepository < MyTestAggregateRootWithGuidPk > ) ,  typeof ( MyTestAggregateRootWithDefaultPkCustomRepository ) ) ; 
 
			
		
	
		
			
				
					        services . ShouldContainTransient ( typeof ( IBasicRepository < MyTestAggregateRootWithGuidPk > ) ,  typeof ( MyTestAggregateRootWithDefaultPkCustomRepository ) ) ; 
 
			
		
	
		
			
				
					        services . ShouldContainTransient ( typeof ( IRepository < MyTestAggregateRootWithGuidPk > ) ,  typeof ( MyTestAggregateRootWithDefaultPkCustomRepository ) ) ; 
 
			
		
	
		
			
				
					        services . ShouldContainTransient ImplementationFactory ( typeof ( IReadOnlyRepository < MyTestAggregateRootWithGuidPk ,  Guid > ) ) ; 
 
			
		
	
		
			
				
					        services . ShouldContainTransient ImplementationFactory ( typeof ( IReadOnlyBasicRepository < MyTestAggregateRootWithGuidPk ,  Guid > ) ) ; 
 
			
		
	
		
			
				
					        services . ShouldContainTransient ( typeof ( IReadOnlyRepository < MyTestAggregateRootWithGuidPk ,  Guid > ) ,  typeof ( MyTestAggregateRootWithDefaultPkCustomRepository ) ) ; 
 
			
		
	
		
			
				
					        services . ShouldContainTransient ( typeof ( IReadOnlyBasicRepository < MyTestAggregateRootWithGuidPk ,  Guid > ) ,  typeof ( MyTestAggregateRootWithDefaultPkCustomRepository ) ) ; 
 
			
		
	
		
			
				
					        services . ShouldContainTransient ( typeof ( IBasicRepository < MyTestAggregateRootWithGuidPk ,  Guid > ) ,  typeof ( MyTestAggregateRootWithDefaultPkCustomRepository ) ) ; 
 
			
		
	
		
			
				
					        services . ShouldContainTransient ( typeof ( IRepository < MyTestAggregateRootWithGuidPk ,  Guid > ) ,  typeof ( MyTestAggregateRootWithDefaultPkCustomRepository ) ) ; 
 
			
		
	
		
			
				
					    }