Bonjour à tous !!
Mon programme attend des commandes de l'utilisateur (via system.in)
Pour le tester, j'aurais besoin d'écrire sur system.in, mais je ne sais pas comment faire ?
Avez-vous une idée ?
Version imprimable
Bonjour à tous !!
Mon programme attend des commandes de l'utilisateur (via system.in)
Pour le tester, j'aurais besoin d'écrire sur system.in, mais je ne sais pas comment faire ?
Avez-vous une idée ?
Bonjour,
tu ne peux pas directement écrire dans System.in mais tu peux paramétrer le InputStream utilisé par ton programme. en marche normale tu lui passe en paramètre le System.in (de Type InputStream). en mode test tu lui en passe un autre.
Il faut alors utiliser par exemple ByteArrayInputStream (ou StringBufferInputStream, mais ce dernier est déprécié)
http://java.sun.com/j2se/1.5.0/docs/...putStream.html
Tu ne peux pas réellement écrire dedans, tu lui passe la String contenant toutes les entrées que tu doit passer.
exemple:
Code:
1
2
3
4
5
6 void testProgramme(){ InputStream in = new ByteArrayInputStream("aaa\nbbb\nccc\n".getBytes("UTF-8")) new MonProgramme(in).run(); } //TODO définir un constructor avec InputStream dans MonProgramme
Avec la méthode System.setInt à laquelle tu passes un InputStream.