#NEWLINE# def test_interface_combination( self ) : #NEWLINE# #INDENT# 'Checks that a private class that extends a public class and public interfaces has only the items\n           from the public bases visible' #NEWLINE# i = InterfaceCombination . newImplementation ( ) #NEWLINE# self . assertEquals ( InterfaceCombination . NO_ARG_RESULT , i . getValue ( ) , 'methods from IFace should be visible on Implementation' ) #NEWLINE# self . assertEquals ( InterfaceCombination . ONE_ARG_RESULT , i . getValue ( 'one arg' ) , 'methods from IIFace should be visible on Implementation' ) #NEWLINE# self . assertEquals ( InterfaceCombination . TWO_ARG_RESULT , i . getValue ( 'one arg' , 'two arg' ) , 'methods from Base should be visible on Implementation' ) #NEWLINE# self . assertRaises ( TypeError , i . getValue , 'one arg' , 'two arg' , 'three arg' , "methods defined solely on Implementation shouldn't be visible" ) #NEWLINE# self . assertFalse ( hasattr ( self , 'internalMethod' ) , "methods from private interfaces shouldn't be visible on a private class" )