Skip to content

Instantly share code, notes, and snippets.

@afska
Last active December 18, 2015 16:29
Show Gist options
  • Save afska/04955d0fe5342350aaaf to your computer and use it in GitHub Desktop.
Save afska/04955d0fe5342350aaaf to your computer and use it in GitHub Desktop.
public void test_iriartStyle() {
inyectador.dijeramosQue {
un "bean" esUn Poroto.class
}
Bean ejb = framework.obtener("bean")
assertTrue(ejb instanceof Poroto)
}
public interface Bean { }
public class Poroto implements Bean { }
/*-----------------------------------------*/
public void test_objetoPorAccessorsSimple() {
/* seguiría el esquema de mensajes encadenados (como el del parcial de groovy "Chains") */
inyectador.dijeramosQue {
un "MailSender" esUn MailSender.class
/* el un(idBinding) devolvería un objeto intermedio (el que venga del refactor del TP3)
que solo entendería esUn(Class<?> clase) y eso retornaría OTRO objeto
que permita agregarle las dependencias */
que tiene
un "usuario" igualA "algo@algo.com"
un "password" igualA "unPassword"
un "puerto" igualA 3389
ademas dijeramosQue //devuelve nuevamente el framework
un "OtraCosa" esUn OtraCosa.class /*y sigue...*/
}
//asserts que hagan falta
}
public void test_objetoPorAccessorsPorId() {
inyectador.dijeramosQue {
un "MailSender" esUn MailSender.class
que tiene
un "usuario" igualA "algo@algo.com"
un "password" igualA "unPassword"
un "puerto" igualA 3389
un "logger" referenciando "Logger"
ademas dijeramosQue
un "Logger" esUn Logger.class
}
//asserts que hagan falta
}
public void test_objetoPorConstructor() {
inyectador.dijeramosQue {
un "MailSender" esUn MailSender.class
con argumentos
_ "mail@password.net" /* ponele que una función puede llamarse "_" */
_ "unPassword"
_ 3389
ref "Logger"
ademas dijeramosQue
un "Logger" esUn Logger.class
}
//asserts que hagan falta
}
/*
podría haber un "syntax sugar" de que si el argumento es un string
no haga falta poner el "_" antes, aprovechando el propertyMissing
*/
/* ¿alguna otra forma de omitir el _? */
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment