def test_sustituir_tipo_base(self):
   s = Sustitucion()
   s.push(Var('a'), Fun(Var('b'), Int()))
   self.assertEqual(
     s.sustituir(Int()),
     Int()
   )
   self.assertEqual(
     s.sustituir(Bool()),
     Bool()
   )
 def test_sustituir_paren(self):
   s = Sustitucion()
   s.push(Var('a'), Fun(Var('b'), Int()))
   self.assertEqual(
     s.sustituir(Paren(Var('a'))),
     Paren(Fun(Var('b'), Int()))
   )
 def test_sustituir_vacio(self):
   s = Sustitucion()
   self.assertEqual(
     s.sustituir(Fun(Var('a'), Var('b'))),
     Fun(Var('a'), Var('b'))
   )