public void testi(String syote, String[] oikeat) { io.setSysIn(syote.replaceAll(", ", "\n") + "\n"); ToistuvaNimi.main(new String[0]); String lisa = ", kun syötteet ovat: " + syote; String tulostus = io.getSysOut(); assertTrue("Ohjelmasi ei tulosta mitään" + lisa, tulostus.length() > 0); String[] rivit = tulostus.split("\n"); assertTrue("Ohjelmasi tulostaa väärän määrän rivejä" + lisa, rivit.length == oikeat.length); for (int i = 0; i < oikeat.length; i++) { assertTrue("Ohjelmasi tulostus on väärä" + lisa, kelpaa(rivit[i], oikeat[i])); } }
private void tarkista(int[] syoteLuvut) { int oldOut = io.getSysOut().length(); String syote = ""; int summa = 0; for (int luku : syoteLuvut) { summa += luku; syote += luku + "\n"; } io.setSysIn(syote); callMain(SumOfManyNumbers.class); String out = io.getSysOut().substring(oldOut); int vastaus = otaLukuLopusta(out); syote = syote.replaceAll("\n", " ").trim(); syote = syote.replaceAll(" ", " + ").trim(); String virheIlm = "sum of " + syote + " should be " + summa + ", you printed \"" + vastaus + "\""; assertTrue("you should print something", out.length() > 0); assertEquals(virheIlm, summa, vastaus); }