#NEWLINE# def _match( self , subject ) : #NEWLINE# #INDENT# ( args , kwargs ) = self . _expected #NEWLINE# success_reasons = [ ] #NEWLINE# for name in args : #NEWLINE# #INDENT# ( has_property , reason ) = self . _has_property ( subject , name ) #NEWLINE# if ( not has_property ) : #NEWLINE# #INDENT# return ( False , [ reason ] ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# success_reasons . append ( reason ) #NEWLINE# #UNINDENT# #UNINDENT# for ( name , value ) in kwargs . items ( ) : #NEWLINE# #INDENT# ( has_property , reason ) = self . _has_property ( subject , name , value ) #NEWLINE# if ( not has_property ) : #NEWLINE# #INDENT# return ( False , [ reason ] ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# success_reasons . append ( reason ) #NEWLINE# #UNINDENT# #UNINDENT# return ( True , success_reasons )