예제 #1
0
파일: artefacto.py 프로젝트: dued/dued
        def puede_clonar_en_una_subclase(self):
            orig = Llamar(self.artefacto)

            class MiLlamada(Llamar):
                pass

            clon = orig.clonar(dentro=MiLlamada)
            assert clon == orig
            assert isinstance(clon, MiLlamada)
예제 #2
0
파일: artefacto.py 프로젝트: dued/dued
        def se_le_pueden_dar_kwargs_adicionales_para_clonar_con(self):
            orig = Llamar(self.artefacto)

            class MiLlamada(Llamar):
                def __init__(self, *args, **kwargs):
                    self.hurra = kwargs.pop("hurra")
                    super(MiLlamada, self).__init__(*args, **kwargs)

            clon = orig.clonar(dentro=MiLlamada, with_={"hurra": "woo"})
            assert clon.hurra == "woo"
예제 #3
0
파일: artefacto.py 프로젝트: dued/dued
 def incluye_args_y_kwargs(self):
     llamar = Llamar(
         self.artefacto,
         args=("posarg1", "posarg2"),
         # Dict de clave-única para evitar problemas ordenamiento de dict
         kwargs={"kwarg1": "val1"},
     )
     esperado = "<Llamar 'miartefacto', args: ('posarg1', 'posarg2'), kwargs: {'kwarg1': 'val1'}>"  # noqa
     assert str(llamar) == esperado
예제 #4
0
파일: artefacto.py 프로젝트: dued/dued
 def devuelve_un_objeto_nuevo_pero_equivalente(self):
     orig = Llamar(self.artefacto)
     clon = orig.clonar()
     assert clon is not orig
     assert clon == orig
예제 #5
0
파일: artefacto.py 프로젝트: dued/dued
 def crea_un_nuevo_Contexto_a_partir_de_la_config_dada(self):
     conf = Config(defaults={"foo": "bar"})
     c = Llamar(_).crear_contexto(conf)
     assert isinstance(c, Contexto)
     assert c.foo == "bar"
예제 #6
0
파일: artefacto.py 프로젝트: dued/dued
 def requiere_argumento_de_configuracion(self):
     with raises(TypeError):
         Llamar(_).crear_contexto()
예제 #7
0
파일: artefacto.py 프로젝트: dued/dued
 def omite_alias_si_el_nombre_explícito_es_el_mismo_que_el_nombre_del_artefacto(
         self):
     llamar = Llamar(self.artefacto, llamado_de="miartefacto")
     assert str(
         llamar) == "<Llamar 'miartefacto', args: (), kwargs: {}>"
예제 #8
0
파일: artefacto.py 프로젝트: dued/dued
 def incluye_aka_si_se_da_un_nombre_explícito(self):
     llamar = Llamar(self.artefacto, llamado_de="noesmiartefacto")
     esperado = "<Llamar 'miartefacto' (called as: 'noesmiartefacto'), args: (), kwargs: {}>"  # noqa
     assert str(llamar) == esperado
예제 #9
0
파일: artefacto.py 프로젝트: dued/dued
 def es_el_primer_posarg(self):
     assert Llamar(_).artefacto is _
예제 #10
0
파일: artefacto.py 프로젝트: dued/dued
 def puede_ser_dado(self):
     assert Llamar(_, kwargs={
         "foo": "bar"
     }).kwargs == {
         "foo": "bar"
     }
예제 #11
0
파일: artefacto.py 프로젝트: dued/dued
 def por_defecto_es_dic_vacio(self):
     assert Llamar(_).kwargs == dict()
예제 #12
0
파일: artefacto.py 프로젝트: dued/dued
 def puede_ser_dado(self):
     assert Llamar(_, args=(1, 2, 3)).args == (1, 2, 3)
예제 #13
0
파일: artefacto.py 프로젝트: dued/dued
 def por_defecto_es_tupla_vacía(self):
     assert Llamar(_).args == tuple()
예제 #14
0
파일: artefacto.py 프로젝트: dued/dued
 def puede_ser_dado(self):
     assert Llamar(_, llamado_de="foo").llamado_de == "foo"
예제 #15
0
파일: artefacto.py 프로젝트: dued/dued
 def pordefecto_a_None(self):
     assert Llamar(_).llamado_de is None
예제 #16
0
파일: artefacto.py 프로젝트: dued/dued
 def incluye_nombre_del_artefacto(self):
     llamar = Llamar(self.artefacto)
     assert str(
         llamar) == "<Llamar 'miartefacto', args: (), kwargs: {}>"
예제 #17
0
파일: artefacto.py 프로젝트: dued/dued
 def es_requerido(self):
     with raises(TypeError):
         Llamar()